diff --git a/Assets/ManagedResources/Prefabs/Effect/Casting/TongYong_Casting_Shang.prefab b/Assets/ManagedResources/Prefabs/Effect/Casting/TongYong_Casting_Shang.prefab index f4416645fb..121b8f101b 100644 --- a/Assets/ManagedResources/Prefabs/Effect/Casting/TongYong_Casting_Shang.prefab +++ b/Assets/ManagedResources/Prefabs/Effect/Casting/TongYong_Casting_Shang.prefab @@ -14468,7 +14468,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &6210025963494768122 RectTransform: m_ObjectHideFlags: 0 @@ -33730,7 +33730,7 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6210025964156221443} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.9999203, y: 0.9999203, z: 0.9999203} m_Children: diff --git a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_fhlh_00021_t3_attack_01.prefab b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_fhlh_00021_t3_attack_01.prefab index 5a4a2ec8e9..7706158dd9 100644 --- a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_fhlh_00021_t3_attack_01.prefab +++ b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_fhlh_00021_t3_attack_01.prefab @@ -41468,7 +41468,7 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3563477016227428539} + - component: {fileID: 4286436596528209178} m_Layer: 0 m_Name: Effect_c_fhlh_00021_t3_attack_01 m_TagString: Untagged @@ -41476,21 +41476,26 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &3563477016227428539 -Transform: +--- !u!224 &4286436596528209178 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3563477016227428538} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -156, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 3563477016696713404} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &3563477016237562903 GameObject: m_ObjectHideFlags: 0 @@ -42540,7 +42545,7 @@ Transform: - {fileID: 3563477016795340358} - {fileID: 3563477016664601596} - {fileID: 3563477015260575634} - m_Father: {fileID: 3563477016227428539} + m_Father: {fileID: 4286436596528209178} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &3563477016696713405 diff --git a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_01.prefab b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_01.prefab index 5445903fad..5979b1985f 100644 --- a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_01.prefab +++ b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_01.prefab @@ -8,16 +8,16 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4609111284337690211} + - component: {fileID: 8223196740912772729} m_Layer: 0 - m_Name: RanDeng_effect_xuli + m_Name: Effect_c_rd_00019_t3_attack_01 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &4609111284337690211 -Transform: +--- !u!224 &8223196740912772729 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -31,6 +31,11 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &4609111284411172127 GameObject: m_ObjectHideFlags: 0 @@ -4976,7 +4981,7 @@ Transform: - {fileID: 4609111285624178068} - {fileID: 4609111286122898003} - {fileID: 4609111284535296277} - m_Father: {fileID: 4609111284337690211} + m_Father: {fileID: 8223196740912772729} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!95 &4609111284755137597 @@ -9915,10 +9920,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 4609111284755137598} m_Modifications: - - target: {fileID: 100000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3} - propertyPath: m_Name - value: uv - objectReference: {fileID: 0} - target: {fileID: 400000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3} propertyPath: m_LocalRotation.x value: -1 @@ -9963,6 +9964,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.x value: -180 objectReference: {fileID: 0} + - target: {fileID: 100000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3} + propertyPath: m_Name + value: uv + objectReference: {fileID: 0} - target: {fileID: 2300000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3} propertyPath: m_Materials.Array.data[0] value: diff --git a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_02.prefab b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_02.prefab index 1587b72eb2..6551c169ea 100644 --- a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_02.prefab +++ b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_02.prefab @@ -182,7 +182,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 9200496704899650422} - m_Father: {fileID: 9200496705766823602} + m_Father: {fileID: 6154247390786240857} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &9200496704899650417 @@ -5315,16 +5315,16 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 9200496705766823602} + - component: {fileID: 6154247390786240857} m_Layer: 0 - m_Name: RanDeng_effect_fuwen + m_Name: Effect_c_rd_00019_t3_attack_02 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &9200496705766823602 -Transform: +--- !u!224 &6154247390786240857 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -5338,6 +5338,11 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &9200496705829401644 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_03.prefab b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_03.prefab index 09d54b5074..049c7ad24c 100644 --- a/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_03.prefab +++ b/Assets/ManagedResources/Prefabs/Effect/Skill/Effect_c_rd_00019_t3_attack_03.prefab @@ -85,16 +85,16 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 5682348372808882043} + - component: {fileID: 4201402378201248722} m_Layer: 0 - m_Name: RanDeng_effect_mingzhong + m_Name: Effect_c_rd_00019_t3_attack_03 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &5682348372808882043 -Transform: +--- !u!224 &4201402378201248722 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -108,6 +108,11 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &5682348372816619375 GameObject: m_ObjectHideFlags: 0 @@ -10259,6 +10264,6 @@ Transform: m_LocalScale: {x: 380, y: 380, z: 380} m_Children: - {fileID: 5682348373509777478} - m_Father: {fileID: 5682348372808882043} + m_Father: {fileID: 4201402378201248722} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab b/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab index 901d30dd13..a266f9f209 100644 --- a/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab +++ b/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab @@ -4910,7 +4910,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -86.19996, y: 209.18019} + m_AnchoredPosition: {x: -86.19996, y: 259} m_SizeDelta: {x: 44, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &-3656374447544663246 @@ -32015,7 +32015,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 10.980068, y: 198.39992} + m_AnchoredPosition: {x: 10.980068, y: 248.21973} m_SizeDelta: {x: 115.64, y: 12} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &-4265868372142857695 @@ -63060,7 +63060,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 11.100109, y: 163.90001} + m_AnchoredPosition: {x: 11.100109, y: 213.71982} m_SizeDelta: {x: 160, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1724097561027959763 @@ -79215,7 +79215,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -86, y: 162.8} + m_AnchoredPosition: {x: -86, y: 212.61981} m_SizeDelta: {x: 74, y: 74} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &3183191374453209385 @@ -127841,7 +127841,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -12.9, y: 298.3} + m_AnchoredPosition: {x: -12.9, y: 348.1198} m_SizeDelta: {x: 230, y: 134.59} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &-1570150567859167305 @@ -133173,7 +133173,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 11.0000725, y: 216.8} + m_AnchoredPosition: {x: 11.0000725, y: 266.6198} m_SizeDelta: {x: 116, y: 17} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8766199146345106176 diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua b/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua index 249954d074..8639a4166c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua @@ -548,6 +548,9 @@ function this.GetSkillCombat(id) SkillDuration = combat.SkillDuration, Orientation = combat.Orientation, EffectType = combat.EffectType , + HitEffectType = combat.HitEffectType, + BeforeOffset = combat.BeforeOffset, + HitOffset = combat.HitOffset, } end diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Skill.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Skill.lua index 75002d069c..fef86fff3d 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Skill.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Skill.lua @@ -33,7 +33,6 @@ function Skill:Init(role, effectData, type, targets, isAdd, isRage) --type 0 异 self.teamSkillType = isTeamSkill and floor(effectData[1] / 100) or 0 self.id = effectData[1] -- 技能ID self.hitTime = effectData[2] -- 效果命中需要的时间 - LogGreen("skill init") self.continueTime = effectData[3] -- 命中后伤害持续时间 self.attackCount = effectData[4] -- 伤害持续时间内伤害次数 @@ -179,7 +178,6 @@ function Skill:Cast(func) if i == 1 then self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.owner, arr[j]) end - LogGreen(self.hitTime) self:takeEffect(self.owner, arr[j], effects, i, self.hitTime, self) -- if i == 1 then -- self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.owner, arr[j]) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/RoleView.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/RoleView.lua index 1ff034fcb0..3b1281819c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/RoleView.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/RoleView.lua @@ -55,7 +55,7 @@ function RoleView.New(go, role, position, root) role.Event:AddEvent(BattleEventName.RoleDead, instance.OnDead, instance) role.Event:AddEvent(BattleEventName.RoleRealDead, instance.OnRealDead, instance) role.Event:AddEvent(BattleEventName.RoleCDChanged, instance.OnRoleCDChanged, instance) - role.Event:AddEvent(BattleEventName.RoleViewBullet, instance.RoleViewBullet, instance) + -- role.Event:AddEvent(BattleEventName.RoleViewBullet, instance.RoleViewBullet, instance) role.Event:AddEvent(BattleEventName.RoleRageChange, instance.RoleRageChange, instance) role.Event:AddEvent(BattleEventName.RoleRelive, instance.onRoleRelive, instance) role.Event:AddEvent(BattleEventName.AOE, instance.OnAOE, instance) @@ -804,7 +804,6 @@ function RoleView:OnSkillCast(skill) self:DelayFunc(self.spAtkTime, function() BattleManager.ResumeBattle() self:CheckFullSceenSkill(combat, skill) - self:checkShake(combat) -- 取消高亮 self:DelayFunc((combat.KeyFrame + combat.SkillDuration)/1000 + 0.2, function() self.RootPanel.SetRoleHighLight() @@ -844,7 +843,6 @@ function RoleView:OnSkillCast(skill) self:DelayFunc(self.spAtkTime, function() BattleManager.ResumeBattle() self:CheckFullSceenSkill(combat, skill) - self:checkShake(combat) -- 取消高亮 self:DelayFunc((combat.KeyFrame + combat.SkillDuration)/1000 + 0.2, function() self.RootPanel.SetRoleHighLight() @@ -944,9 +942,8 @@ function RoleView:GetEffectSPostion(skill) local targets = skill:GetDirectTargets() local targetPos = targets[1].position - if chooseLimit == 3 then - local col = (targetPos % 4) + 1 + local col = (targetPos-1) % 3 + 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 @@ -971,7 +968,7 @@ function RoleView:GetEffectPosition(skill) return targetPos <= 3 and FullEffectPosition.Enemy_Front or FullEffectPosition.Enemy_Behind end elseif chooseLimit == 3 then - local col = (targetPos % 4) + 1 + local col = (targetPos-1) % 3 + 1 return targetCamp == 0 and FullEffectPosition["My_COL_"..col] or FullEffectPosition["Enemy_COL_"..col] end end @@ -980,8 +977,15 @@ function RoleView:CheckFullSceenSkill(combat, skill) if not skill then return end - -- 如果弹道时间为0则判断其为全屏特效 或者 单排特效 - if combat.EffectType == 2 then + -- 指定目标弹道特效 + if combat.EffectType == 1 then + local targets = skill:GetDirectTargets() + for _, target in ipairs(targets) do + self:RoleViewBullet(combat, target) + end + + -- 全屏特效 + elseif combat.EffectType == 2 then local path = combat.Bullet if path then @@ -992,13 +996,15 @@ function RoleView:CheckFullSceenSkill(combat, skill) -- 特效的偏移量 local offset = combat.Offset and Vector3.New(combat.Offset[1], combat.Offset[2], 0) or Vector3.zero + -- local go = loadAsset(path, self.RootPanel.skillEffectRoot:GetComponent("Canvas").sortingOrder) go.transform:SetParent(self.RootPanel.skillEffectRoot.transform) go.transform.localScale = Vector3.one go.transform.localPosition = pos + offset go:SetActive(true) - self:AddDelayRecycleRes(path, go, 10) - end + self:AddDelayRecycleRes(path, go, 4) + end + -- 全屏弹道特效 elseif combat.EffectType == 3 then local path = combat.Bullet if path then @@ -1030,7 +1036,35 @@ function RoleView:CheckFullSceenSkill(combat, skill) -- go:SetActive(false) -- end) end - end + + -- 指定目标特效 + elseif combat.EffectType == 4 then + local targets = skill:GetDirectTargets() + for _, target in ipairs(targets) do + local tv = self.RootPanel.GetRoleView(target) + if tv then + local offset = combat.Offset and Vector3.New(combat.Offset[1], combat.Offset[2], 0) or Vector3.zero + + local sortingOrder = tv.role.camp == 0 and tv.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil + local go2 = loadAsset(combat.Bullet, sortingOrder) + go2.transform:SetParent(tv.GameObject.transform.parent) + go2.transform.localScale = Vector3.one + go2.transform.localPosition = Vector3.zero + go2.transform.anchoredPosition = offset + go2.transform:SetParent(self.RootPanel.skillEffectRoot.transform) + go2:SetActive(true) + self:AddDelayRecycleRes(combat.Bullet, go2, 4) + end + + end + end + + + -- 取消高亮 + self:DelayFunc(combat.KeyFrame/1000, function() + self:CheckSkillHitEffect("skill", combat, skill) + self:checkShake(combat) + end) end -- 检测前摇技能释放 @@ -1040,6 +1074,7 @@ function RoleView:CheckSkillForoleEffect(combat, skill) end if combat.BeforeBullet and combat.BeforeBullet ~= "" then local path = combat.BeforeBullet + local offset = combat.BeforeOffset and Vector3.New(combat.BeforeOffset[1], combat.BeforeOffset[2], 0) or Vector3.zero local sortingOrder if self.camp == 0 then sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder @@ -1048,17 +1083,67 @@ function RoleView:CheckSkillForoleEffect(combat, skill) go.transform:SetParent(self.GameObject.transform) go.transform.localScale = Vector3.one go.transform.localPosition = Vector3.zero + go.transform.anchoredPosition = offset go:SetActive(true) self:AddDelayRecycleRes(path, go, 3) end end +-- 检测技能命中特效显示 +function RoleView:CheckSkillHitEffect(checkType, combat, skill) + if not combat then return end + + if checkType == "skill" then + -- 释放技能时检测,如果是范围命中效果 + if combat.HitEffectType == 2 and combat.Hit then + local targets = skill:GetDirectTargets() + if not targets or not targets[1] or targets[1]:IsDead() then return end + local tv = self.RootPanel.GetRoleView(targets[1]) + if not tv then return end + + local tpos = self:GetEffectPosition(skill) + if not tpos then + return + end + + -- 特效的偏移量 + local offset = combat.HitOffset and Vector3.New(combat.HitOffset[1], combat.HitOffset[2], 0) or Vector3.zero + + local sortingOrder = tv.role.camp == 0 and tv.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil + local go = loadAsset(combat.Hit, sortingOrder) + go.transform:SetParent(self.RootPanel.skillEffectRoot.transform) + go.transform.localScale = Vector3.one + go.transform.localPosition = tpos + offset + go:SetActive(true) + self:AddDelayRecycleRes(combat.Hit, go, 1) + + end + elseif checkType == "hit" then + -- 被击中时检测,如果是目标命中 + if combat.HitEffectType == 1 and combat.Hit then + local offset = combat.HitOffset and Vector3.New(combat.HitOffset[1], combat.HitOffset[2], 0) or Vector3.zero + + local sortingOrder = self.role.camp == 0 and self.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil + local go2 = loadAsset(combat.Hit, sortingOrder) + go2.transform:SetParent(self.GameObject.transform.parent) + go2.transform.localScale = Vector3.one + go2.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition + Vector3.New(0, self.BuffFloatingCount * 180, 0) + go2.transform.anchoredPosition = offset--Vector2.zero + go2.transform:SetParent(self.RootPanel.skillEffectRoot.transform) + go2:SetActive(true) + self:AddDelayRecycleRes(combat.Hit, go2, 1) + end + + end + +end + + + -- 检测是否需要震动屏幕 function RoleView:checkShake(combat) if combat.ShockScreen == 1 then - self:DelayFunc(combat.KeyFrame/1000, function() - self.RootPanel:SetShake() - end) + self.RootPanel:SetShake() end end @@ -1078,13 +1163,11 @@ local plist = { -- 播放弹道特效 -function RoleView:RoleViewBullet(skill, target) +function RoleView:RoleViewBullet(combat, target) - if not skill or not self.RootPanel.GetRoleView(target) then return end - local combat = BattleManager.GetSkillCombat(SkillLogicConfig[skill.id].SkillDisplay) + if not self.RootPanel.GetRoleView(target) then return end if not combat then return end - local duration = combat.BulletTime/1000 local bulletEffect = combat.Bullet if not bulletEffect or bulletEffect == "" or duration == 0 then return end @@ -1293,18 +1376,8 @@ function RoleView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType self:AddDelayRecycleRes(teamSkillHitEffect, go2, 3) end elseif skill then - local HitEffect = BattleManager.GetSkillCombat(SkillLogicConfig[skill.id].SkillDisplay).Hit - if HitEffect then - local sortingOrder = self.role.camp == 0 and self.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil - local go2 = loadAsset(HitEffect, sortingOrder) - go2.transform:SetParent(self.GameObject.transform.parent) - go2.transform.localScale = Vector3.one - go2.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition + Vector3.New(0, self.BuffFloatingCount * 180, 0) - go2.transform.anchoredPosition = Vector2.zero - go2.transform:SetParent(self.RootPanel.skillEffectRoot.transform) - go2:SetActive(true) - self:AddDelayRecycleRes(HitEffect, go2, 1) - end + local combat = BattleManager.GetSkillCombat(SkillLogicConfig[skill.id].SkillDisplay) + self:CheckSkillHitEffect("hit", combat, skill) end end diff --git a/Assets/ManagedResources/~Lua/Modules/Main/GMPanel.lua b/Assets/ManagedResources/~Lua/Modules/Main/GMPanel.lua index 55e29c8978..d16522f385 100644 --- a/Assets/ManagedResources/~Lua/Modules/Main/GMPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Main/GMPanel.lua @@ -243,211 +243,7 @@ function GMPanel:BindEvent() local monsterId = 10101 Util.AddClick(this.btnBattleGo, function() if this.MonsterIdText.text == "" then - local data = {enemyData= - { - { - {camp=1,element=4,passivity= - {} - ,position=1,professionId=2,property= - {10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10071,skill= - {100711, - {210003,0.05, - {1,0.49,1} - } - } - ,star=5,superSkill= - {100712, - {200003,0.05, - {109,1.4,1,1,0.24,5} - } - } - ,type=1} - , - {camp=1,element=4,passivity= - {} - ,position=2,professionId=2,property= - {10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10070,skill= - {100701, - {400000,0.05, - {1,1,2} - } - } - ,star=5,superSkill= - {100702, - {400000,0.05, - {1,3.5,2} - } - } - ,type=1} - , - {camp=1,element=1,passivity= - {} - ,position=3,professionId=2,property= - {10,3040,3040,456,152,152,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10051,skill= - {100511, - {200000,0.05, - {1,0.2,1} - } - } - ,star=3,superSkill= - {100512, - {200000,0.05, - {1,1,1} - } - } - ,type=1} - , - {camp=1,element=2,passivity= - {} - ,position=4,professionId=2,property= - {10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10062,skill= - {100621, - {400000,0.05, - {1,0.9,1} - } - } - ,star=5,superSkill= - {100622, - {230002,0.05, - {1,2.12,1} - , - {3,0.3,1,1} - } - } - ,type=1} - , - {camp=1,element=3,passivity= - {} - ,position=5,professionId=4,property= - {10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10058,skill= - {100581, - {400000,0.05, - {1,0.95,1} - } - } - ,star=5,superSkill= - {100582, - {230002,0.05, - {1,2.23,1} - } - } - ,type=1} - ,outData="",teamPassive= - {} - ,teamSkill= - {} - } - } - ,playerData= - { - {camp=0,element=4,passivity= - { - {233,4,12,0.09,1} - , - {225,0.06,1,2,5} - , - {234,3,0.15,1} - , - {208,2,0.15,5,1,0.1,9,1} - , - {227,12,0.16} - } - ,position=1,professionId=3,property= - {30,7819,7819,1303,362,362,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10013,skill= - {1461, - {400000,0.05, - {1,1,1} - } - } - ,star=5,superSkill= - {1462, - {200000,0.05, - {1,1.02,1} - , - {3,0.3,7,1} - } - } - ,type=1} - , - {camp=0,element=1,passivity= - { - {233,4,12,0.09,1} - , - {225,0.06,1,2,5} - , - {234,3,0.15,1} - , - {208,2,0.15,5,1,0.1,9,1} - , - {227,12,0.16} - } - ,position=2,professionId=4,property= - {30,6739,6739,1123,312,312,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10068,skill= - {100681, - {400000,0.05, - {1,0.9,2} - } - } - ,star=4,superSkill= - {100682, - {200003,0.05, - {113,1.55,2,1,0.2,7,1} - } - } - ,type=1} - , - {camp=0,element=3,passivity= - { - {208,2,0.15,5,1,0.1,9,1} - , - {233,4,12,0.09,1} - , - {227,12,0.16} - , - {225,0.06,1,2,5} - , - {105,1} - , - {234,3,0.15,1} - , - {90,16,2,1} - , - {104,2} - } - ,position=3,professionId=4,property= - {255,1585443,1585443,330981,9925,9925,0,0,0.1,0,1.08,0,0,0.06,1,1,0,0,0,0,0,0,0,0,0} - ,quality=0,roleId=10006,skill= - {1041, - {220801,0.05, - {1,0.95,2} - } - } - ,star=11,superSkill= - {1042, - {220801,0.05, - {1,3.33,2} - } - , - {300000,0.05, - {100,1,1} - } - } - ,type=1} - ,outData="1#1011|2#11|3#2|4#0|5#11",teamPassive= - { - {} - } - ,teamSkill= - {} - } - } + local data = {enemyData={{{camp=1,element=3,passivity={},position=1,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10085,skill={1131,0.05,0,1,{230002,{1,0.6,2}}},star=5,superSkill={1132,0.8,0,1,{200212,{2,2.12,2}},{400001,{101,1}}},type=1},{camp=1,element=2,passivity={},position=2,professionId=3,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10022,skill={1151,0.05,0,1,{220000,{1,0.44,2}}},star=5,superSkill={1152,0.05,0,1,{220000,{2,1.55,2},{3,0.45,1,1}}},type=1},{camp=1,element=2,passivity={},position=3,professionId=1,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10010,skill={1171,0.05,0,1,{400000,{1,0.9,1}}},star=5,superSkill={1172,0.35,0,1,{210003,{2,1.55,1}},{110003,{104,0.2,1}}},type=1},{camp=1,element=2,passivity={},position=4,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10089,skill={1181,0.05,0,1,{400000,{1,0.9,2}}},star=5,superSkill={1182,0.8,0,1,{230002,{2,2.12,2}},{300000,{100,1,1}}},type=1},{camp=1,element=2,passivity={},position=5,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10015,skill={1201,0.05,0,1,{400000,{1,0.9,1}}},star=5,superSkill={1202,0.01,0.5,3,{400000,{1,3.15,1}},{300000,{100,1,1}}},type=1},{camp=1,element=2,passivity={},position=6,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10086,skill={1261,0.05,0,1,{400000,{1,0.9,1}}},star=5,superSkill={1262,0.3,0,1,{230002,{2,2.12,1}},{400001,{101,1}}},type=1},teamPassive={},teamSkill={}}},playerData={{camp=0,element=3,passivity={},position=1,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10008,skill={1021,0.05,0,1,{210003,{1,0.47,1}}},star=5,superSkill={1022,1.2,0,1,{210003,{2,1.63,1}},{100000,{100,1,1}}},type=1},{camp=0,element=3,passivity={},position=2,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10006,skill={1041,0.05,0,1,{220801,{1,0.95,2}}},star=5,superSkill={1042,0.1,0.8,3,{220801,{1,3.33,2}},{300000,{100,1,1}}},type=1},{camp=0,element=3,passivity={},position=3,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10018,skill={1051,0.05,0,1,{100111,{24,1,1.03}}},star=5,superSkill={1052,0.05,0,1,{100113,{24,1,1.75}}},type=1},{camp=0,element=3,passivity={},position=4,professionId=3,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10005,skill={1071,0.05,0,1,{400000,{1,0.95,0.4}}},star=5,superSkill={1072,0.3,0,1,{210003,{2,1.63,2},{3,0.4,2,1}}},type=1},{camp=0,element=3,passivity={},position=5,professionId=3,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10020,skill={1081,0.05,0,1,{400000,{1,0.95,1}}},star=5,superSkill={1082,0.3,0,1,{230002,{2,2.23,1},{3,0.4,1,1}}},type=1},{camp=0,element=2,passivity={},position=6,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10012,skill={1121,0.05,0,1,{400000,{1,0.95,2}}},star=5,superSkill={1122,0.05,0,1,{400000,{103,3.33,2,0.3}}},type=1},teamPassive={},teamSkill={}}} local testFightData = { fightData = data, fightSeed = 1589533697, diff --git a/data_execl/base_data/CombatControl.xlsx b/data_execl/base_data/CombatControl.xlsx index 3764e14e62..9121218564 100644 Binary files a/data_execl/base_data/CombatControl.xlsx and b/data_execl/base_data/CombatControl.xlsx differ diff --git a/data_execl/base_data/SkillLogicConfig.xlsx b/data_execl/base_data/SkillLogicConfig.xlsx index 5d03f20de3..7deba39cc0 100644 Binary files a/data_execl/base_data/SkillLogicConfig.xlsx and b/data_execl/base_data/SkillLogicConfig.xlsx differ