diff --git a/Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_yujiatiao.png b/Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_yujiatiao.png new file mode 100644 index 0000000000..0130d462ba Binary files /dev/null and b/Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_yujiatiao.png differ diff --git a/Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_yujiatiao.png.meta b/Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_yujiatiao.png.meta new file mode 100644 index 0000000000..f21f89a6c9 --- /dev/null +++ b/Assets/ManagedResources/Atlas/BattleAtlas/r_zhandou_yujiatiao.png.meta @@ -0,0 +1,110 @@ +fileFormatVersion: 2 +guid: 46766934c8cf3ca45bdcbcd83f855548 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: 65 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: 56 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 9b0d66e025849624d80f225903098073 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: BattleAtlas + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ManagedResources/Atlas/TagAtlas/ArtFont/q_qjsl_qijieshangdian.png b/Assets/ManagedResources/Atlas/TagAtlas/ArtFont/q_qjsl_qijieshangdian.png new file mode 100644 index 0000000000..ec49145448 Binary files /dev/null and b/Assets/ManagedResources/Atlas/TagAtlas/ArtFont/q_qjsl_qijieshangdian.png differ diff --git a/Assets/ManagedResources/Atlas/TagAtlas/ArtFont/q_qjsl_qijieshangdian.png.meta b/Assets/ManagedResources/Atlas/TagAtlas/ArtFont/q_qjsl_qijieshangdian.png.meta new file mode 100644 index 0000000000..3c7cb58f2a --- /dev/null +++ b/Assets/ManagedResources/Atlas/TagAtlas/ArtFont/q_qjsl_qijieshangdian.png.meta @@ -0,0 +1,110 @@ +fileFormatVersion: 2 +guid: 0d2882f5cf8cc8c42bc3286b558e6932 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: 65 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: 56 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: bcd2db3ea5ba46742be8c9a051969c3b + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: TagAtlas + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab b/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab index 09bdf30190..4c8041504e 100644 --- a/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab +++ b/Assets/ManagedResources/Prefabs/UI/Battle/BattlePanel.prefab @@ -54292,6 +54292,80 @@ Transform: m_Father: {fileID: 266399697868850741} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1273417143258310486 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 466208108519372939} + - component: {fileID: 745351126363841964} + - component: {fileID: 4289847692326243877} + m_Layer: 5 + m_Name: yujia + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &466208108519372939 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1273417143258310486} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7445151958430435848} + m_RootOrder: 2 + 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.05, y: 0} + m_SizeDelta: {x: 112, y: 11} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &745351126363841964 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1273417143258310486} + m_CullTransparentMesh: 0 +--- !u!114 &4289847692326243877 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1273417143258310486} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 46766934c8cf3ca45bdcbcd83f855548, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 --- !u!1 &1283844563334256464 GameObject: m_ObjectHideFlags: 0 @@ -82119,6 +82193,7 @@ RectTransform: m_Children: - {fileID: 2874419575757642720} - {fileID: 2874419575420701304} + - {fileID: 9111004418300883058} m_Father: {fileID: 1044302835} m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -88023,6 +88098,80 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 1 m_TargetDisplay: 0 +--- !u!1 &3105172307472740040 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9111004418300883058} + - component: {fileID: 2205137752606943407} + - component: {fileID: 3470501508636922347} + m_Layer: 5 + m_Name: yujia + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9111004418300883058 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3105172307472740040} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2874419575473712772} + m_RootOrder: 2 + 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.05, y: 0} + m_SizeDelta: {x: 112, y: 11} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2205137752606943407 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3105172307472740040} + m_CullTransparentMesh: 0 +--- !u!114 &3470501508636922347 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3105172307472740040} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 46766934c8cf3ca45bdcbcd83f855548, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 0.562 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 --- !u!1 &3183191374453209385 GameObject: m_ObjectHideFlags: 0 @@ -93124,6 +93273,80 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &3420603192968489204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1123898189538097250} + - component: {fileID: 3740464128198734159} + - component: {fileID: 4659976856417811549} + m_Layer: 5 + m_Name: yujia + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1123898189538097250 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3420603192968489204} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: -4561720786966416003} + m_RootOrder: 2 + 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.05, y: 0} + m_SizeDelta: {x: 112, y: 11} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3740464128198734159 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3420603192968489204} + m_CullTransparentMesh: 0 +--- !u!114 &4659976856417811549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3420603192968489204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 46766934c8cf3ca45bdcbcd83f855548, type: 3} + m_Type: 3 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 0.524 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 --- !u!1 &3462277647250853472 GameObject: m_ObjectHideFlags: 0 @@ -177775,6 +177998,7 @@ RectTransform: m_Children: - {fileID: 9157988692038345874} - {fileID: 4790868156847007000} + - {fileID: 466208108519372939} m_Father: {fileID: -6754620520668838389} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -219747,6 +219971,7 @@ RectTransform: m_Children: - {fileID: -8417139988263449769} - {fileID: 5658755082352509955} + - {fileID: 1123898189538097250} m_Father: {fileID: 6297374445036456370} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -235477,16 +235702,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 213509966} m_Modifications: - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_Name - value: Hero - objectReference: {fileID: 0} - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2535060995107670383, guid: e356d5948e4971f499cfe38db3551f59, type: 3} propertyPath: m_LocalPosition.x @@ -235592,30 +235807,15 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0.5 objectReference: {fileID: 0} - - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_Name + value: Hero objectReference: {fileID: 0} - - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 - objectReference: {fileID: 0} - - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59, type: 3} @@ -235627,6 +235827,31 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 3.2600002 objectReference: {fileID: 0} + - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} + - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3} --- !u!224 &4228769374436639584 stripped @@ -235642,16 +235867,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 1673863619} m_Modifications: - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_Name - value: Hero - objectReference: {fileID: 0} - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2535060995107670383, guid: e356d5948e4971f499cfe38db3551f59, type: 3} propertyPath: m_LocalPosition.x @@ -235757,30 +235972,15 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0.5 objectReference: {fileID: 0} - - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_Name + value: Hero objectReference: {fileID: 0} - - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 - objectReference: {fileID: 0} - - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59, type: 3} @@ -235792,6 +235992,31 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 3.2600002 objectReference: {fileID: 0} + - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} + - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3} --- !u!224 &4082100120160718929 stripped @@ -235952,16 +236177,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 1517028597} m_Modifications: - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_Name - value: Hero - objectReference: {fileID: 0} - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2535060995107670383, guid: e356d5948e4971f499cfe38db3551f59, type: 3} propertyPath: m_LocalPosition.x @@ -236067,30 +236282,15 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0.5 objectReference: {fileID: 0} - - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_Name + value: Hero objectReference: {fileID: 0} - - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 - objectReference: {fileID: 0} - - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59, type: 3} @@ -236102,6 +236302,31 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 3.2600002 objectReference: {fileID: 0} + - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} + - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3} --- !u!224 &732539848799529134 stripped @@ -236117,16 +236342,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 2874419575948170118} m_Modifications: - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_Name - value: Hero - objectReference: {fileID: 0} - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2535060995107670383, guid: e356d5948e4971f499cfe38db3551f59, type: 3} propertyPath: m_LocalPosition.x @@ -236232,30 +236447,15 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0.5 objectReference: {fileID: 0} - - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_Name + value: Hero objectReference: {fileID: 0} - - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 - objectReference: {fileID: 0} - - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59, type: 3} @@ -236267,6 +236467,31 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 3.2600002 objectReference: {fileID: 0} + - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} + - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3} --- !u!224 &1614343476964916978 stripped @@ -236282,16 +236507,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 2874419575646265389} m_Modifications: - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_Name - value: Hero - objectReference: {fileID: 0} - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2535060995107670383, guid: e356d5948e4971f499cfe38db3551f59, type: 3} propertyPath: m_LocalPosition.x @@ -236397,30 +236612,15 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0.5 objectReference: {fileID: 0} - - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_Name + value: Hero objectReference: {fileID: 0} - - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 - objectReference: {fileID: 0} - - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59, type: 3} @@ -236432,6 +236632,31 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 3.2600002 objectReference: {fileID: 0} + - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} + - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3} --- !u!224 &6954216252396688781 stripped @@ -236592,16 +236817,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 1806694851} m_Modifications: - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_Name - value: Hero - objectReference: {fileID: 0} - - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - target: {fileID: 2535060995107670383, guid: e356d5948e4971f499cfe38db3551f59, type: 3} propertyPath: m_LocalPosition.x @@ -236707,30 +236922,15 @@ PrefabInstance: propertyPath: m_Pivot.y value: 0.5 objectReference: {fileID: 0} - - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_Name + value: Hero objectReference: {fileID: 0} - - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + - target: {fileID: 2321054590987622477, guid: e356d5948e4971f499cfe38db3551f59, type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -16.999998 - objectReference: {fileID: 0} - - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 - objectReference: {fileID: 0} - - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 3.2600002 + propertyPath: m_IsActive + value: 0 objectReference: {fileID: 0} - target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59, type: 3} @@ -236742,6 +236942,31 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 3.2600002 objectReference: {fileID: 0} + - target: {fileID: 2320031819195525549, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819931042899, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} + - target: {fileID: 2320031819916146513, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.2600002 + objectReference: {fileID: 0} + - target: {fileID: 2320031819902321005, guid: e356d5948e4971f499cfe38db3551f59, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -16.999998 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3} --- !u!224 &5143580857320041208 stripped diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Buff.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Buff.lua index 25a946302a..cdf831649e 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Buff.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Buff.lua @@ -15,6 +15,7 @@ local BuffRegister = { [BuffName.NoDead] = "NoDead", [BuffName.Aura] = "Aura", [BuffName.Brand] = "Brand", + [BuffName.Blood] = "Blood", } @@ -171,6 +172,7 @@ function BuffManager:AddBuff(target, buff) buff.roundDuration = buff.duration buff.roundInterval = buff.interval buff.caster.Event:DispatchEvent(BattleEventName.BuffCaster, buff) + buff.target.Event:DispatchEvent(BattleEventName.BuffBeAdd, buff) -- 用于记录统计 BattleLogic.Event:DispatchEvent(BattleEventName.RecordBuff, buff.caster, buff.target, buff) end diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index 37e6aa9276..64ec302b61 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -692,14 +692,17 @@ local passivityList = { end) end, - --进入战斗[a]秒后,免疫控制效果,持续[b]秒 - --a[int],b[int] + --进入战斗[a]秒后,免疫控制效果,持续[b]秒,免疫类型[c](c 不填默认为1 免疫控制) + --a[int],b[int],c[int] [37] = function(role, args) local f1 = args[1] local f2 = args[2] - + local type=1 + if args[3] then + type=args[3] + end BattleLogic.WaitForTrigger(f1, function () - role:AddBuff(Buff.Create(role, BuffName.Immune, f2, 1)) + role:AddBuff(Buff.Create(role, BuffName.Immune, f2,type)) end) end, @@ -2784,13 +2787,16 @@ local passivityList = { end, -- 受到[a]状态敌人攻击时受到伤害[b]改变[c]% - -- a[持续伤害状态]b[改变类型]c[float] + -- a[持续伤害状态]b[改变类型]c[float],d[int 1:直接伤害 ](d 不填/0不区别是否为直接伤害) [140] = function(role, args) local dot = args[1] local ct = args[2] local f1 = args[3] - - local onPassiveBeDamaging = function(func, caster, damage) + local type = args[4] + local onPassiveBeDamaging = function(func, caster, damage,skill) + if type==1 and not skill then + return + end if BattleLogic.BuffMgr:HasBuff(caster, BuffName.DOT, function(buff) return buff.damageType == dot end,role,dot) then local dmgDeduction = damage - floor(BattleUtil.ErrorCorrection(BattleUtil.CountValue(damage, f1, ct))) if func then func(dmgDeduction) end @@ -3341,25 +3347,25 @@ local passivityList = { role.Event:AddEvent(BattleEventName.BeSkillCastEnd, onBeSkillCastEnd,nil,nil,role) end, - -- 攻击目标时目标身上每有1种异常状态(包括麻痹、眩晕、沉默、灼烧、中毒)都会使对其造成的直接伤害提高,异常状态数量乘以[a]%。 - -- a[float] + -- 攻击目标时目标身上每有1种异常状态(包括麻痹、眩晕、沉默、灼烧、中毒)都会使对其造成的直接伤害提高,异常状态数量乘以[a]%。,[b]是否包含dot类buff(b 不填/0为包含 ) + -- a[float],b[int 1:不包含] [161] = function(role, args,id,judge) local f1 = args[1] - + local isDot = args[2] + if not isDot then + isDot=0 + end --之前为根据异常效果的数量改为根据异常效果的类型 by:王振兴 local function onPassiveDamaging(damagingFunc, target, damage,skill) if skill and not skill.isTriggerJudge and judge==1 then return end - --local list = BattleLogic.BuffMgr:GetBuff(target, function(buff) - --return buff.type == BuffName.DOT or buff.type == BuffName.Control - --end) local dotList={} local controlList={} local list=BattleLogic.BuffMgr:GetBuff(target) for i = 1, #list do local buff=list[i] - if buff.type== BuffName.DOT and buff.damageType and dotList and not BattleUtil.ChecklistIsContainValue(dotList,buff.damageType) then + if isDot==0 and buff.type== BuffName.DOT and buff.damageType and dotList and not BattleUtil.ChecklistIsContainValue(dotList,buff.damageType) then table.insert(dotList,buff.damageType) end @@ -7293,7 +7299,7 @@ local passivityList = { end, -- 技能施加控制状态失败,回复自身[a]点怒气() -- a[int] - [318] = function(role, args) + [318] = function(role, args,id,judge) local f1 = args[1] local ctrlNum=0 @@ -7482,7 +7488,7 @@ local passivityList = { end, --释放技能怒气不足时,损失自身([a]-我方活着的[b]系神将数)%生命*不足怒气数 后释放技能 --a[int],b[int] - [324]=function(role,args) + [324]=function(role,args,id,judge) local max=args[1] local ele=args[2] local onRoleCastSkillBrfore=function(caster) @@ -7509,7 +7515,7 @@ local passivityList = { end, -- 被自身控制[a]的敌方目标,己方[b]阵营神将对其造成伤害增加[c]% -- a[int 控制状态] b[int] c[float] - [325] = function(role, args) + [325] = function(role, args,id,judge) local f1 = args[1] local ele = args[2] local f2 = args[3] @@ -7799,7 +7805,7 @@ local passivityList = { end, -- 武将怒气为[a]点时即可释放技能,释放技能消耗当前所有怒气 超过[c]点的怒气部分 每消耗1点怒气技能伤害为[b]%(c不填默认为4) -- a[int]b[float],c[int] - [336] = function(role, args) + [336] = function(role, args,id,judge) local i1 = args[1] local f1 = args[2] local num = args[3] @@ -7912,8 +7918,364 @@ local passivityList = { end BattleLogic.Event:AddEvent(BattleEventName.BattleRoundStart, onRoundStart,nil,nil,role) + end, + -- 受到直接伤害的[a]%转换为护甲 + -- a[float] + [338] = function(role, args,id,judge) + local f1 = args[1] + local onBeHit = function(caster, damage, bCrit, finalDmg, damageType, skill,isDirect) + if finalDmg<=0 then + return + end + --如果角色死亡就不会反弹伤害 + if role:IsDead() then + return + end + --不是真实伤害 + if not skill and not isDirect then + return + end + local rDamage =floor(f1 * damage) + role:AddBuff(Buff.Create(role, BuffName.Blood,0, rDamage)) + + end + role.Event:AddEvent(BattleEventName.RoleBeHit, onBeHit,nil,nil,role) + end, + --每次行动未造成击杀,则该行动主目标造成其[a][b]%的间接伤害 + --a[int 属性],b[float] + [339] = function(role, args,id,judge) + local p1 = args[1] + local v1 = args[2] + local isNoDie=true + --获取主目标 + local onSkillCast = function(skill) + if not skill then + return + end + if skill and not skill.isTriggerJudge and judge==1 then + return + end + local list=skill:GetDirectTargets() + local target=RoleManager.GetAggroHero(role,list) + if target and BattleUtil.LengthOfTable(target)>0 then + role.curMainTarget=target[1] + end + end + role.Event:AddEvent(BattleEventName.SkillCastBefore, onSkillCast,nil,nil,role) + + local onRoleKill=function(defRole,skill) + isNoDie=false + end + local onTurnStar=function(role) + role.Event:AddEvent(BattleEventName.RoleKill,onRoleKill,nil,nil,role) + end + role.Event:AddEvent(BattleEventName.RoleTurnStart, onTurnStar,nil,nil,role) + local onTurnEnd=function(role) + role.Event:RemoveEvent(BattleEventName.RoleKill,onRoleKill,nil,nil,role) + if isNoDie then + local damage=floor(BattleUtil.FP_Mul(role.curMainTarget:GetRoleData(BattlePropList[p1]),v1)) + BattleUtil.FinalDamage(nil,role,role.curMainTarget,damage) + end + isNoDie=true + end + role.Event:AddEvent(BattleEventName.RoleTurnEnd, onTurnEnd,nil,nil,role) + end, + -- 为己方单位恢复怒气是,为主目标添加[a] 属性[b] [c]%的效果,持续[d]回合,每回合最多生效一次 + -- a[int 改变类型] b[int] c[float] d[int] + [340] = function(role, args,id,judge) + local ct = args[1] + local p1 = args[2] + local v1=args[3] + local round=args[4] + local isTurn=false + local onRoleHit = function(caster, target, deltaRage, countType, value) + if not isTurn then + return + end + + if caster~=role then + return + end + if target.camp~=role.camp or countType~=CountTypeName.Add then + return + end + target:AddBuff(Buff.Create(role, BuffName.PropertyChange,round, BattlePropList[p1],v1, ct)) + isTurn=false + end + BattleLogic.Event:AddEvent(BattleEventName.RecordRageChange, onRoleHit,nil,nil,role) + + + local onRoleTurnStart=function() + isTurn=true + end + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundStart,onRoleTurnStart,nil,nil,role) + end, + -- 造成直接伤害时,自身每有[a]点怒气,造成的伤害增加[b]%,最高为[c]% + -- a[int],b[float],c[float] + [341] = function(role, args,id,judge) + local num = args[1] + local f1 = args[2] + local f2 = args[3] + + local count=0 + local OnSkillCast=function(skill) + count=floor(role.Rage/num) + end + role.Event:AddEvent(BattleEventName.ActionOperateAngerBefore,OnSkillCast,nil,nil,role) + local OnPassiveDamaging = function(damagingFunc, target, damage,skill) + if not skill then + return + end + + local add=count*f1 + if add>f2 then + add=f2 + end + + damagingFunc(-floor(BattleUtil.FP_Mul(add,damage))) + end + role.Event:AddEvent(BattleEventName.PassiveDamaging, OnPassiveDamaging,nil,nil,role) + end, + --回合行动形成追击时,每次追击造成的伤害增加[a]% + --a[float] + [342] = function(role, args,id,judge) + local p1 = args[1] + local isTurn=false + + -- 如果是行动回合追加的技能的伤害 + local onPassiveDamaging = function(func, target, damage, skill) + + if not skill then + return + end + + if not skill.isAdd then + return + end + if isTurn==false then + return + end + if not skill.isTriggerJudge and judge==1 then + return + end + + if skill.type==BattleSkillType.Special or skill.type==BattleSkillType.Extra or skill.type==BattleSkillType.Normal then + func(-floor(BattleUtil.FP_Mul(p1,damage))) + end + end + role.Event:AddEvent(BattleEventName.PassiveDamaging, onPassiveDamaging,nil,nil,role) + + local onTurnStar=function(role) + isTurn=true + end + role.Event:AddEvent(BattleEventName.RoleTurnStart, onTurnStar,nil,nil,role) + + local onTurnEnd=function(role) + isTurn=false + end + role.Event:AddEvent(BattleEventName.RoleTurnEnd, onTurnEnd,nil,nil,role) + end, + --回合结束时,与自己怒气相同的己方单位同时回复[a]点怒气 + --a[int] + [343]=function(role,args,id,judge) + local num=args[1] + local onRoundChange=function(round) + if round==0 then + return + end + local list = RoleManager.Query(function(v) return role.camp == v.camp end) + for _, r in pairs(list) do + if r.Rage==role.Rage and r~=role then + BattleUtil.CalRage(role,r,num,CountTypeName.Add) + end + end + BattleUtil.CalRage(role,role,num,CountTypeName.Add) + end + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundEnd, onRoundChange,nil,nil,role) + end, + --释放技能时,对控制成功的目标,技能的直接伤害增加[a]%;失败使目标 属性[b] 改变[c] [d]% 持续[e]回合 + --a[float],b[int 属性id],c[int 改变类型],d[float],e[int] + [344]=function(role,args,id,judge) + local p1=args[1] + local pro = args[2] + local ct = args[3] + local v1 = args[4] + local round = args[5] + local curSkill=nil + --添加buff成功 + local OnBuffBeAdd=function(buff) + if not buff or buff.caster~=role or buff.type~=BuffName.Control then + return + end + --添加技能额外伤害 + if curSkill then + local finalDamage=floor(role.superSkillDamage*p1) + BattleUtil.FinalDamage(nil,role,buff.target,finalDamage) + end + end + --添加buff失败 + local OnBuffAddFail=function(buff) + if not buff or buff.caster~=role or buff.type~=BuffName.Control then + return + end + buff.target:AddBuff(Buff.Create(role, BuffName.PropertyChange, round, BattlePropList[pro],v1, ct)) + end + + local OnSkillCast=function(skill) + if skill.type~=BattleSkillType.Special then + return + end + curSkill=skill + BattleLogic.Event:AddEvent(BattleEventName.RoleAddBuffFail,OnBuffAddFail,nil,nil,role) + role.Event:AddEvent(BattleEventName.BuffCaster,OnBuffBeAdd,nil,nil,role) + end + role.Event:AddEvent(BattleEventName.SkillCast,OnSkillCast,nil,nil,role) + + local OnSkillCastEnd=function(skill) + if skill.type~=BattleSkillType.Special then + return + end + curSkill=nil + BattleLogic.Event:RemoveEvent(BattleEventName.RoleAddBuffFail,OnBuffAddFail,nil,nil,role) + role.Event:RemoveEvent(BattleEventName.BuffCaster,OnBuffBeAdd,nil,nil,role) + end + role.Event:AddEvent(BattleEventName.SkillCastEnd,OnSkillCastEnd,nil,nil,role) + end, + --持续伤害效果[a]结算时,对目标造成其[b][c]%的伤害 + -- a[int dot类型id] b[int 属性id],c[float] + [345]=function(role,args) + local type=args[1] + local pro=args[2] + local v1=args[3] + local OnBuffEnd=function(buff) + if buff and buff.caster==role and buff.damageType==type then + local val = floor(BattleUtil.FP_Mul(v1, buff.target:GetRoleData(BattlePropList[pro]))) + BattleUtil.FinalDamage(nil,role,buff.target, val) + end + end + BattleLogic.Event:AddEvent(BattleEventName.DotBuffEnd, OnBuffEnd,nil,nil,role) + end, + --技能对[a]阵营/职业目标 伤害[b]改变[c]% ,[d]类型(1:阵营 2:职业) + -- a[int] b[int],c[float],d[int] + [346]=function(role,args,id,judge) + local v1=args[1] + local ct=args[2] + local v2=args[3] + local type=args[4] + local OnPassiveDamaging = function(damagingFunc, defRole, damage,skill) + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if not defRole then + return + end + if defRole.camp==role.camp then + return + end + --如果不是限定阵营 + if type==1 and defRole.element~=v1 then + return + end + --如果不是限定职业 + if type==2 and defRole.professionId~=v1 then + return + end + damagingFunc(-floor(v2 * damage)) + end + role.Event:AddEvent(BattleEventName.PassiveDamaging, OnPassiveDamaging,nil,nil,role) + end, + --敌方单位死亡立即回复满血(没有表现) + [347]=function(role,args,id,judge) + + local onRoleHit = function(deadRole) + if deadRole.camp==role.camp then + return + end + --BattleLogic.WaitForTrigger(BattleLogic.GameDeltaTime, function () + local addHp=role:GetRoleData(RoleDataName.MaxHp) - role:GetRoleData(RoleDataName.Hp) + role.data:AddValue(RoleDataName.Hp,addHp) + --end) + end + BattleLogic.Event:AddEvent(BattleEventName.RoleRealDead, onRoleHit,nil,nil,role) + end, + --第[a]回合结束后,自身血量未降低到[b]%,[c]属性[d]改变 [e]% 持续[f]回合,[g]属性[h]改变 [i]% 持续[j]回合(g,h,i,j任一参数不填都不会生效) + --a[int],b[float],c[int 属性],d[int 改变类型],e[float],f[int], g[int 属性],h[int,改变类型],i[float],j[int] + [348]=function(role,args,id,judge) + local round = args[1] + local prop = args[2] + local pro1 = args[3] + local ct1 = args[4] + local v1 = args[5] + local r1 = args[6] + local pro2 = args[7] + local ct2 = args[8] + local v2 = args[9] + local r2 = args[10] + local OnRoundEnd=function(curRound) + if curRound~= round then + return + end + local curProp=BattleUtil.GetHPPencent(role) + if curProp<=prop then + return + end + + if r1 and pro1 and v1 and ct1 then + role:AddBuff(Buff.Create(role,BuffName.PropertyChange, r1, BattlePropList[pro1], v1, ct1)) + end + + if r2 and pro2 and v2 and ct2 then + role:AddBuff(Buff.Create(role,BuffName.PropertyChange, r2, BattlePropList[pro2], v2, ct2)) + end + end + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundEnd,OnRoundEnd) + end, + --每回合最多减少[a]点怒气(不受放逐影响) + --a[int] + [349]=function(role,args,id,judge) + local maxNum=args[1] + role.RoundMaxSubRage=maxNum + local OnRoundEnd=function(curRound) + role.AllSubRage=0 + end + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundEnd,OnRoundEnd) + end, + -- 第[a]回合中,敌人受到的任何伤害会对其他敌人造成该伤害[b]%的间接伤害 + -- a[int],b[float] + [350] = function(role, args,id,judge) + + local i1 = args[1] + local f1 = args[2] + + local function OnDamage(func, atkRole, defRole, damage, skill, dotType, bCrit, damageType) + if skill==nil then + return + end + if skill and not skill.isTriggerJudge and judge==1 then + return + end + if defRole.camp ~= role.camp then + if skill or dotType then + local list = RoleManager.Query(function(r) return r.camp == defRole.camp and r ~= defRole end) + for _, r in ipairs(list) do + local dd = floor(BattleUtil.ErrorCorrection(damage* f1)) + BattleUtil.FinalDamage(nil, atkRole, r, dd) + end + end + end + end + + local function onRoundChange(curRound) + if curRound == i1 then + BattleLogic.Event:AddEvent(BattleEventName.FinalDamage, OnDamage) + elseif curRound == i1 + 1 then + BattleLogic.Event:RemoveEvent(BattleEventName.FinalDamage, OnDamage) + end + end + BattleLogic.Event:AddEvent(BattleEventName.BattleRoundChange, onRoundChange) end, + } return passivityList \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Blood.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Blood.lua new file mode 100644 index 0000000000..d88bbadc76 --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Blood.lua @@ -0,0 +1,56 @@ +Blood = Buff:New() + +--初始化Buff,通过传入一些自定义参数控制成长相关的数值 +function Blood:SetData(...) + + -- 刷新排序等级 + self.bloodValue=... + self.sort = 4 + +end + + +--初始化后调用一次 +function Blood:OnStart() + self.target.bloodShield = self + self.target.Event:DispatchEvent(BattleEventName.BloodValueChange,self.bloodValue/self.target:GetRoleData(RoleDataName.MaxHp)) +end +function Blood:GetCurValue() + return self.bloodValue +end + +--间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd +function Blood:OnTrigger() + return true +end + +--效果结束时调用一次 +function Blood:OnEnd() + self.target.Event:DispatchEvent(BattleEventName.BloodValueChange,0) + self.target.bloodShield = nil + self.bloodValue=0 +end +--计算血甲 +function Blood:CountBloodValue(damage) + local finalDamage=0 + self.bloodValue=self.bloodValue-damage + if self.bloodValue<=0 then + self.disperse=true + finalDamage=self.bloodValue + end + local value=0 + if self.bloodValue<=0 then + value=0 + end + self.target.Event:DispatchEvent(BattleEventName.BloodValueChange,self.bloodValue/self.target:GetRoleData(RoleDataName.MaxHp)) + return finalDamage +end + + + +--只有当cover字段为true时触发,返回true则被新效果覆盖 +function Blood:OnCover(newBuff) + return true +end + +return Blood \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Blood.lua.meta b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Blood.lua.meta new file mode 100644 index 0000000000..e78ce2e1cb --- /dev/null +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Blood.lua.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 489a333956a8af142befcc171adc4334 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/DOT.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/DOT.lua index 14b69e1ded..c4c03b4024 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/DOT.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/DOT.lua @@ -45,6 +45,7 @@ end --效果结束时调用一次 function DOT:OnEnd() + BattleLogic.Event:DispatchEvent(BattleEventName.DotBuffEnd, self) self.triggerTime=0 end diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Immune.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Immune.lua index da5f2e8201..dc3e282da6 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Immune.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Buff/Immune.lua @@ -14,6 +14,13 @@ local immune3 = function(buff) return buff.type == BuffName.Shield and buff.shieldType == ShieldTypeName.AllReduce end +--免疫控制不免疫禁疗 +local immune5 = function(buff) + return buff.type == BuffName.Control and buff.ctrlType and buff.ctrlType~=4 +end + + + --初始化Buff,通过传入一些自定义参数控制成长相关的数值 function Immune:SetData(type,func) self.immuneType = type @@ -38,11 +45,11 @@ function Immune:OnStart() elseif self.immuneType==4 then--自定义免疫 if self.immune4 then self.target.buffFilter:Add(self.immune4) - end - end - if condition then - -- body + end + elseif self.immuneType==5 then--免疫控制 不免疫禁疗 + self.target.buffFilter:Add(immune5) end + end --间隔N帧触发,返回true时表示继续触发,返回false立刻触发OnEnd diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua index 7127593274..66813c671c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua @@ -1,4 +1,4 @@ -local index = 0 +local index = 0 local function indexAdd() index = index + 1 return index @@ -131,6 +131,7 @@ BattleEventName = { BuffStart = indexAdd(), BuffDodge = indexAdd(), BuffTrigger = indexAdd(), + BuffBeAdd=indexAdd(), BuffEnd = indexAdd(), BuffCountChange = indexAdd(), BuffCover = indexAdd(), @@ -153,9 +154,10 @@ BattleEventName = { RoleCastSkillBefore = indexAdd(), --护盾buff消失以后 ShieldBuffEnd=indexAdd(), - --治疗效果导入 + --治疗效果结束 HotBuffEnd=indexAdd(), - + --dot buff结束 + DotBuffEnd=indexAdd(), -- 战斗记录用 RecordDamage = indexAdd(), -- 伤害 RecordTreat = indexAdd(), -- 治疗 @@ -170,6 +172,8 @@ BattleEventName = { RecordRageChange = indexAdd(), -- 怒气改变时 ActionOperateAngerAfter =indexAdd(),--角色行动操作怒气后 HitRoleInBurn = indexAdd(), --击中在燃烧状态得敌人 + ActionOperateAngerBefore =indexAdd(),--角色行动操作怒气前 + BloodValueChange = indexAdd(), --御甲只发发生改变 } BattleMaxFrame = 1000000 @@ -218,6 +222,7 @@ BuffName = { NoDead = 10, Aura = 11, Brand = 12, + Blood = 13, } DotType = { diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua index e2bc8a8812..8200bac6b6 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -654,8 +654,20 @@ function BattleUtil.CalRage(caster, target, value, countType) return end local lastRage=target.Rage + --如果每回合减的怒气超过了每回合上限就不再减怒 + if (countType==3 or countType==4) and target.RoundMaxSubRage~=0 and target.RoundMaxSubRage<=target.AllSubRage then + return + end + --这个减的怒气+已经间的怒气> 怒气限制 + if (countType==3 or countType==4) and target.RoundMaxSubRage~=0 and value+target.AllSubRage>target.RoundMaxSubRage then + value=target.RoundMaxSubRage-target.AllSubRage + end -- 操作怒气 local deltaRage = target:AddRage(value, countType) + if (countType==3 or countType==4) and target.RoundMaxSubRage~=0 then + target.AllSubRage=target.AllSubRage-deltaRage + end + BattleLogic.Event:DispatchEvent(BattleEventName.RecordRageChange, caster, target, deltaRage,countType,value,lastRage) -- 用于记录统计 BattleLogic.Event:DispatchEvent(BattleEventName.RecordRage, caster, target, deltaRage) @@ -705,7 +717,18 @@ function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageTy return end if damage < 0 then damage = 0 end - local finalDmg = defRole.data:SubValue(RoleDataName.Hp, damage) + + if skill and skill.type==BattleSkillType.Special then + skill.owner.superSkillDamage=damage + end + --计算血量防护 + local realDamage=damage + --血量防护只会防直接伤害 + if defRole.bloodShield and skill then + realDamage=math.abs(defRole.bloodShield:CountBloodValue(damage)) + damage=realDamage + end + local finalDmg = defRole.data:SubValue(RoleDataName.Hp,realDamage) if finalDmg >= 0 then if defRole:GetRoleData(RoleDataName.Hp) <= 0 and not defRole:IsDead() then defRole:SetDead(damage) @@ -882,6 +905,50 @@ function BattleUtil.CalTreat(castRole, targetRole, value, baseFactor,skill) targetRole.Event:DispatchEvent(BattleEventName.RoleBeHealed, castRole) BattleUtil.ApplyTreat(castRole, targetRole, value, baseFactor,critDamageFactor,addDamageFactor,skill) end +function BattleUtil.FinalTreat(castRole, targetRole, value, baseFactor,skill) + -- 灵兽无效 + if targetRole.type == BattleUnitType.Monster then + return + end + BattleLogic.Event:DispatchEvent(BattleEventName.DisposeRoleCtrl_noheal, castRole,targetRole) + if targetRole.ctrl_noheal or targetRole:IsDead() then --禁疗和死亡无法加血 + --禁疗并且没有死亡的单位显示血量+0 不走后面代码,防止触发后面的被动 by:王振兴 2021/1/27 + if targetRole.ctrl_noheal and not targetRole:IsDead() then + targetRole.Event:DispatchEvent(BattleEventName.RoleBeTreated, castRole, 0, 0) + end + return + end + targetRole.Event:DispatchEvent(BattleEventName.RoleBeHealed, castRole) + local maxHp = targetRole:GetRoleData(RoleDataName.MaxHp) + local hp = targetRole:GetRoleData(RoleDataName.Hp) + baseFactor = baseFactor or 1 + local baseTreat = BattleUtil.FP_Mul(value, baseFactor) + + --baseTreat = BattleUtil.CountChangeList(baseTreat, cl) + -- 取整 + local baseTreat = floor(baseTreat + 0.5) + + local treat = min(baseTreat, maxHp - hp) + if treat > 0 then + targetRole.data:AddValue(RoleDataName.Hp, treat) + end + + castRole.Event:DispatchEvent(BattleEventName.RoleTreat, targetRole, treat, baseTreat) + targetRole.Event:DispatchEvent(BattleEventName.RoleBeTreated, castRole, treat, baseTreat) + --添加发送到battleLogic的治疗消息,用于计算总的战斗伤害值 + BattleLogic.Event:DispatchEvent(BattleEventName.RoleBeTreated, castRole, treat, baseTreat) + -- 战斗记录用 + BattleLogic.Event:DispatchEvent(BattleEventName.RecordTreat, castRole, targetRole, baseTreat) + BattleLogManager.Log( + "Final Treat", + "acamp", castRole.camp, + "apos", castRole.position, + "tcamp", targetRole.camp, + "tpos", targetRole.position, + "value", value + ) +end + function BattleUtil.ApplyTreat(castRole, targetRole, value, baseFactor,critDamageFactor,addDamageFactor,skill) -- 灵兽无效 @@ -1002,6 +1069,7 @@ function BattleUtil.RandomControl(rand, ctrl, caster, target, round) target:AddBuff(buff) end) if not isAdd then + buff.target=target BattleLogic.Event:DispatchEvent(BattleEventName.RoleAddBuffFail,buff) end return isAdd diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/RoleLogic.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/RoleLogic.lua index 86e37bd94f..4fffde323a 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/RoleLogic.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/RoleLogic.lua @@ -29,6 +29,8 @@ function RoleLogic:Init(uid, data, position) self.isDead = self:GetRoleData(RoleDataName.Hp) <= 0 self.isRealDead = self.isDead self.killDamage = 0 --致死伤害 + self.superSkillDamage = 0 --技能伤害 + self.killRole=nil --击杀英雄 self.camp = data.camp --阵营 0:我方 1:敌方 self.name = data.name self.element = data.element @@ -60,7 +62,8 @@ function RoleLogic:Init(uid, data, position) self.aiOrder = data.ai self.aiIndex = 1 self.aiTempCount = 0 - + self.RoundMaxSubRage=0 --每回合最多减少怒气 + self.AllSubRage =0 -- 每回合减少的怒气 self.IsDebug = false self.enemyType = EnemyType.normal self.lockTarget = nil --嘲讽 @@ -75,7 +78,7 @@ function RoleLogic:Init(uid, data, position) self.reliveFilter = true -- 控制复活的标志位,置为false角色将不再享受复活效果 self.reliveHPF = 1 self.reliveCaster = nil - + self.bloodShield = nil self.IsCanAddSkill = true -- 是否可以追加技能 self.mustHit=false --必定命中 self.mustCrit=false --必定暴击 @@ -370,7 +373,7 @@ function RoleLogic:SkillCast(skill, func) _CastDone() return end - + self.Event:DispatchEvent(BattleEventName.ActionOperateAngerBefore,self) -- 没有麻痹,释放普通攻击 if (skill.type == BattleSkillType.Normal or skill.type ==BattleSkillType.ChaosNormal) and not self.ctrl_palsy then diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua index dde4102dea..8b3e55be94 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Role/Skill.lua @@ -62,7 +62,6 @@ function Skill:Cast(func) self.castDoneFunc = func self.isTriggePassivity=false self.triggerPassivityId={} - -- 技能效果生效 if self.effectCaster then --放技能前判断是否有目标,没有就不会放技能,直接执行技能回调 by 王振兴 2021/03/26 diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/BuffCtrl.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/BuffCtrl.lua index 1e6407aab6..a5f7ab3e16 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/BuffCtrl.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/BuffCtrl.lua @@ -10,6 +10,7 @@ local BuffTypeToConfigType = { [BuffName.Curse] = 7, [BuffName.KylinMark] = 8, [BuffName.Exile] = 9, + [BuffName.Blood] = 13, } local function _GetPropChangeBuffCType(pName) for cType, pn in ipairs(BattlePropList) do @@ -45,6 +46,8 @@ local function _GetBuffEffectConfig(buff) cType = 1 elseif bType== BuffName.Exile then cType = 1 + elseif bType== BuffName.Blood then + cType = 1 end local type = BuffTypeToConfigType[bType] diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua index c6dcb5bd58..3088deab7d 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/EnemyView.lua @@ -30,6 +30,7 @@ function EnemyView:onCreate(go, role, position, root, isBoss) self.castingNameNode = Util.GetGameObject(self.castingEfectNode, "TongYong_Casting_Shang/DongHua/MingZi") self.hpSlider = Util.GetGameObject(go, "hpProgress/hp"):GetComponent("Image") self.hpPassSlider = Util.GetGameObject(go, "hpProgress/hpPass"):GetComponent("Image") + self.yujiaSlider=Util.GetGameObject(go, "hpProgress/yujia"):GetComponent("Image") self.nameText = Util.GetGameObject(go, "Name/Text"):GetComponent("Text") self.level = Util.GetGameObject(go, "lv/Text"):GetComponent("Text") self.elementImg = Util.GetGameObject(go, "Pro/Image"):GetComponent("Image") @@ -53,6 +54,7 @@ function EnemyView:onCreate(go, role, position, root, isBoss) self.hpCache = self.role:GetRoleData(RoleDataName.Hp) / self.role:GetRoleData(RoleDataName.MaxHp) self.hpSlider.fillAmount = self.hpCache self.hpPassSlider.fillAmount = self.hpCache + self.yujiaSlider.fillAmount = 0 self.livePath = GetResourcePath(live) self.play_liveScale = RoleConfig[roleId].play_liveScale self.enemy_liveScale = RoleConfig[roleId].enemy_liveScale @@ -146,7 +148,7 @@ function EnemyView:onCreate(go, role, position, root, isBoss) role.Event:AddEvent(BattleEventName.ShowHintText,self.OnShowHintText,self) role.Event:AddEvent(BattleEventName.RoleBeExile,self.OnRoleExile,self) role.Event:AddEvent(BattleEventName.RoleExileEnd,self.OnRoleExileEnd,self) - + role.Event:AddEvent(BattleEventName.BloodValueChange,self.OnBloodValueChange,self) if IsOpenBattleDebug then local URoleProperty = go:GetComponent(typeof(RoleProperty)) if not URoleProperty then @@ -261,6 +263,10 @@ function EnemyView:OnRoleExileEnd(role) local color = Color.New(1, 1, 1, 1) Util.SetColor(self.RoleLiveGOGraphic, color) end + +function EnemyView:OnBloodValueChange(value) + self.yujiaSlider.fillAmount = value +end -- 缩放 function EnemyView:DoScale(scale, dur, func) @@ -520,6 +526,7 @@ function EnemyView:OnDead() self.hpPassTween:Kill() end self.hpSlider.fillAmount = 0 + self.yujiaSlider.fillAmount = 0 self.hpPassSlider.fillAmount = 0 --死亡后不把怒气条显示清空,处理触发不灭怒气不足四点 怒气条清空 2021/09/01 --self.rageSlider.fillAmount = 0 @@ -586,6 +593,7 @@ function EnemyView:onRoleRelive() self.RoleLiveGOGraphic2.freeze = false self.isDead = false + self.yujiaSlider.fillAmount = 0 self.hpSlider.fillAmount=self.role:GetRoleData(RoleDataName.Hp) / self.role:GetRoleData(RoleDataName.MaxHp) local sortingOrder = self.GameObject.transform.parent:GetComponent("Canvas").sortingOrder + 21 local go = BattleManager.LoadAsset(reliveEffect1,sortingOrder) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua index c3fcd0b156..704bda2096 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/View/Unit/PlayerView.lua @@ -31,6 +31,7 @@ function PlayerView:onCreate(go, role, position, root) self.castingNameNode = Util.GetGameObject(self.castingEfectNode, "TongYong_Casting_Xia/DongHua/MingZi") self.hpSlider = Util.GetGameObject(go, "hpProgress/hp"):GetComponent("Image") self.hpPassSlider = Util.GetGameObject(go, "hpProgress/hpPass"):GetComponent("Image") + self.yujiaSlider=Util.GetGameObject(go, "hpProgress/yujia"):GetComponent("Image") local nameParent = Util.GetGameObject(go, "Name") self.nameText = Util.GetGameObject(go, "Text"):GetComponent("Text") self.level = Util.GetGameObject(go, "lv/Text"):GetComponent("Text") @@ -41,6 +42,7 @@ function PlayerView:onCreate(go, role, position, root) self.hpCache = self.role:GetRoleData(RoleDataName.Hp) / self.role:GetRoleData(RoleDataName.MaxHp) self.hpSlider.fillAmount = self.hpCache self.hpPassSlider.fillAmount = self.hpCache + self.yujiaSlider.fillAmount = 0 local roleId=role.roleData.roleId local live=HeroConfig[role.roleData.roleId].Live @@ -160,6 +162,7 @@ function PlayerView:onCreate(go, role, position, root) role.Event:AddEvent(BattleEventName.ShowHintText,self.OnShowHintText,self) role.Event:AddEvent(BattleEventName.RoleBeExile,self.OnRoleExile,self) role.Event:AddEvent(BattleEventName.RoleExileEnd,self.OnRoleExileEnd,self) + role.Event:AddEvent(BattleEventName.BloodValueChange,self.OnBloodValueChange,self) if IsOpenBattleDebug then local URoleProperty = go:GetComponent(typeof(RoleProperty)) if not URoleProperty then @@ -179,6 +182,12 @@ function PlayerView:OnSortingOrderChange(battleSorting) self:ChangeCardSorting(battleSorting + self.role.position) end + +function PlayerView:OnBloodValueChange(value) + self.yujiaSlider.fillAmount = value +end + + -- 改变卡牌层级 function PlayerView:ChangeCardSorting(sortingOrder) if not self.oSortingOrder then @@ -563,6 +572,7 @@ function PlayerView:OnDead() end self.hpSlider.fillAmount = 0 self.hpPassSlider.fillAmount = 0 + self.yujiaSlider.fillAmount = 0 --死亡后不把怒气条显示清空,处理触发不灭怒气不足四点 怒气条清空 2021/09/01 --self.rageSlider.fillAmount = 0 self.rageText.text = "" @@ -607,6 +617,7 @@ function PlayerView:onRoleRelive() self.RoleLiveGOGraphic2.freeze = false self.isDead = false + self.yujiaSlider.fillAmount = 0 self.hpSlider.fillAmount=self.role:GetRoleData(RoleDataName.Hp) / self.role:GetRoleData(RoleDataName.MaxHp) local sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder + 21 local go = BattleManager.LoadAsset(reliveEffect1,sortingOrder)