主角技能提交

dev_chengFeng
wangzhenxing 2021-10-20 21:33:37 +08:00
parent 54b07410bf
commit 24f0812b9f
38 changed files with 21869 additions and 283 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 10d2845dd3cccf747adc543b8143de73
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: baeac1342666f2142973f24ebb1d793b
vertices: []
indices:
edges: []
weights: []
spritePackingTag: FloatingViewAtlas
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1,110 @@
fileFormatVersion: 2
guid: 5a7da273e1eb911408d85566c94aaaed
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: 04ec5d5c361e0954092c0995c481b16d
vertices: []
indices:
edges: []
weights: []
spritePackingTag: FloatingViewAtlas
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -33941,12 +33941,13 @@ RectTransform:
- {fileID: 4314914839250506137}
- {fileID: 1842165961194409960}
- {fileID: 1103730546490195052}
- {fileID: 6087615274432925628}
m_Father: {fileID: 954781532}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -50, y: 199.6}
m_AnchoredPosition: {x: -50, y: 199.59961}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &8374736667363694714
@ -79836,6 +79837,7 @@ RectTransform:
- {fileID: 6912347825052629471}
- {fileID: 5621759011565849955}
- {fileID: 2943858860639768464}
- {fileID: 7677069338900041530}
m_Father: {fileID: 1966515042}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -88172,6 +88174,41 @@ MonoBehaviour:
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &3114259921062265060
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6087615274432925628}
m_Layer: 5
m_Name: 100
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &6087615274432925628
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3114259921062265060}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.7, y: 0.7, z: 1}
m_Children: []
m_Father: {fileID: 2195685921775563767}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 50, y: 350}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &3183191374453209385
GameObject:
m_ObjectHideFlags: 0
@ -108426,6 +108463,41 @@ MonoBehaviour:
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
--- !u!1 &3914204520970231352
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7677069338900041530}
m_Layer: 5
m_Name: 101
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &7677069338900041530
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3914204520970231352}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.7, y: 0.7, z: 0.9999204}
m_Children: []
m_Father: {fileID: 4151010342984944770}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 50, y: 30}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &3946641810568772026
GameObject:
m_ObjectHideFlags: 0
@ -235817,22 +235889,12 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
objectReference: {fileID: 0}
- target: {fileID: 2320031818794305969, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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,
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
@ -235852,6 +235914,16 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: -16.999998
objectReference: {fileID: 0}
- target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3}
--- !u!224 &4228769374436639584 stripped
@ -235982,22 +236054,12 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
objectReference: {fileID: 0}
- target: {fileID: 2320031818794305969, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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,
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
@ -236017,6 +236079,16 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: -16.999998
objectReference: {fileID: 0}
- target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3}
--- !u!224 &4082100120160718929 stripped
@ -236292,22 +236364,12 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
objectReference: {fileID: 0}
- target: {fileID: 2320031818794305969, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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,
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
@ -236327,6 +236389,16 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: -16.999998
objectReference: {fileID: 0}
- target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3}
--- !u!224 &732539848799529134 stripped
@ -236457,22 +236529,12 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
objectReference: {fileID: 0}
- target: {fileID: 2320031818794305969, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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,
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
@ -236492,6 +236554,16 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: -16.999998
objectReference: {fileID: 0}
- target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3}
--- !u!224 &1614343476964916978 stripped
@ -236622,22 +236694,12 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
objectReference: {fileID: 0}
- target: {fileID: 2320031818794305969, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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,
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
@ -236657,6 +236719,16 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: -16.999998
objectReference: {fileID: 0}
- target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3}
--- !u!224 &6954216252396688781 stripped
@ -236932,22 +237004,12 @@ PrefabInstance:
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
objectReference: {fileID: 0}
- target: {fileID: 2320031818794305969, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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,
- target: {fileID: 2320031818352649172, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 3.2600002
@ -236967,6 +237029,16 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: -16.999998
objectReference: {fileID: 0}
- target: {fileID: 2320031820207909310, guid: e356d5948e4971f499cfe38db3551f59,
type: 3}
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}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e356d5948e4971f499cfe38db3551f59, type: 3}
--- !u!224 &5143580857320041208 stripped

View File

@ -19843,7 +19843,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
@ -56304,7 +56304,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
@ -56426,7 +56426,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
@ -66691,7 +66691,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0abe38ba5a49e714e8b506546b757bf3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -986,6 +986,7 @@ RedPointType = {
QiJieShiLian = 860,--入口
QiJieTreasure = 8601,--秘宝
WorldArena_reward = 672, --玉虚论道奖励
playerSkill = 673, --主角技能
}
RedPointStatus = {

View File

@ -586,7 +586,7 @@ function SetIcon(spLoader, id)
return
end
icon = spLoader:LoadSprite(resPath)
return icon
return icon,itemConfig[id]
end
function SetFrame(spLoader, id)

View File

@ -227,6 +227,8 @@ ConfigName = {
MServerRankReward="MServerRankReward",
MServerArenaSetting="MServerArenaSetting",
FourQuadrantConfig = "FourQuadrantConfig",
PlayerSkill = "PlayerSkill",
PlayerSkillBasicTable = "PlayerSkillBasicTable",
}
require "Framework/GameDataBase"

View File

@ -420,6 +420,7 @@ UIName = {
WorldArenaBattleInfoPanel=417, --玉虚论道对战信息界面
FourQuadrantGongmingPopup=419,--四象心法共鸣界面
GeneralTreasurePanel=420, --通用秘宝界面
PracticeSkillInfoPanel = 430, --修行主角技能信息界面
}
SubUIConfig = {

View File

@ -98,6 +98,7 @@ FIGHTTEAMINFO_POKEMONUNITLIST_FIELD = protobuf.FieldDescriptor();
FIGHTTEAMINFO_TEAMPASSIVELIST_FIELD = protobuf.FieldDescriptor();
FIGHTTEAMINFO_SPECIALPASSIVE_FIELD = protobuf.FieldDescriptor();
FIGHTTEAMINFO_FIRSTCAMP_FIELD = protobuf.FieldDescriptor();
FIGHTTEAMINFO_FORCESCORE_FIELD = protobuf.FieldDescriptor();
EVENTBEHAVIORVALUES = protobuf.Descriptor();
EVENTBEHAVIORVALUES_BEHAVIORVALUES_FIELD = protobuf.FieldDescriptor();
EVENTBEHAVIORCOMMON = protobuf.Descriptor();
@ -771,6 +772,9 @@ LIKABLEINFO_LIKABLENUM_FIELD = protobuf.FieldDescriptor();
EQUIPBOOKINFO = protobuf.Descriptor();
EQUIPBOOKINFO_EQUIPID_FIELD = protobuf.FieldDescriptor();
EQUIPBOOKINFO_NUM_FIELD = protobuf.FieldDescriptor();
PRACTICESKILLINFO = protobuf.Descriptor();
PRACTICESKILLINFO_SKILLID_FIELD = protobuf.FieldDescriptor();
PRACTICESKILLINFO_SKILLLV_FIELD = protobuf.FieldDescriptor();
ERRORRESPONSE_ERRCODE_FIELD.name = "errCode"
ERRORRESPONSE_ERRCODE_FIELD.full_name = ".rpc.protocols.ErrorResponse.errCode"
@ -1684,11 +1688,21 @@ FIGHTTEAMINFO_FIRSTCAMP_FIELD.default_value = 0
FIGHTTEAMINFO_FIRSTCAMP_FIELD.type = 5
FIGHTTEAMINFO_FIRSTCAMP_FIELD.cpp_type = 1
FIGHTTEAMINFO_FORCESCORE_FIELD.name = "forceScore"
FIGHTTEAMINFO_FORCESCORE_FIELD.full_name = ".rpc.protocols.FightTeamInfo.forceScore"
FIGHTTEAMINFO_FORCESCORE_FIELD.number = 6
FIGHTTEAMINFO_FORCESCORE_FIELD.index = 5
FIGHTTEAMINFO_FORCESCORE_FIELD.label = 1
FIGHTTEAMINFO_FORCESCORE_FIELD.has_default_value = false
FIGHTTEAMINFO_FORCESCORE_FIELD.default_value = 0
FIGHTTEAMINFO_FORCESCORE_FIELD.type = 3
FIGHTTEAMINFO_FORCESCORE_FIELD.cpp_type = 2
FIGHTTEAMINFO.name = "FightTeamInfo"
FIGHTTEAMINFO.full_name = ".rpc.protocols.FightTeamInfo"
FIGHTTEAMINFO.nested_types = {}
FIGHTTEAMINFO.enum_types = {}
FIGHTTEAMINFO.fields = {FIGHTTEAMINFO_FIGHTUNITLIST_FIELD, FIGHTTEAMINFO_POKEMONUNITLIST_FIELD, FIGHTTEAMINFO_TEAMPASSIVELIST_FIELD, FIGHTTEAMINFO_SPECIALPASSIVE_FIELD, FIGHTTEAMINFO_FIRSTCAMP_FIELD}
FIGHTTEAMINFO.fields = {FIGHTTEAMINFO_FIGHTUNITLIST_FIELD, FIGHTTEAMINFO_POKEMONUNITLIST_FIELD, FIGHTTEAMINFO_TEAMPASSIVELIST_FIELD, FIGHTTEAMINFO_SPECIALPASSIVE_FIELD, FIGHTTEAMINFO_FIRSTCAMP_FIELD, FIGHTTEAMINFO_FORCESCORE_FIELD}
FIGHTTEAMINFO.is_extendable = false
FIGHTTEAMINFO.extensions = {}
EVENTBEHAVIORVALUES_BEHAVIORVALUES_FIELD.name = "behaviorValues"
@ -8110,6 +8124,33 @@ EQUIPBOOKINFO.enum_types = {}
EQUIPBOOKINFO.fields = {EQUIPBOOKINFO_EQUIPID_FIELD, EQUIPBOOKINFO_NUM_FIELD}
EQUIPBOOKINFO.is_extendable = false
EQUIPBOOKINFO.extensions = {}
PRACTICESKILLINFO_SKILLID_FIELD.name = "skillId"
PRACTICESKILLINFO_SKILLID_FIELD.full_name = ".rpc.protocols.PracticeSkillInfo.skillId"
PRACTICESKILLINFO_SKILLID_FIELD.number = 1
PRACTICESKILLINFO_SKILLID_FIELD.index = 0
PRACTICESKILLINFO_SKILLID_FIELD.label = 1
PRACTICESKILLINFO_SKILLID_FIELD.has_default_value = false
PRACTICESKILLINFO_SKILLID_FIELD.default_value = 0
PRACTICESKILLINFO_SKILLID_FIELD.type = 5
PRACTICESKILLINFO_SKILLID_FIELD.cpp_type = 1
PRACTICESKILLINFO_SKILLLV_FIELD.name = "skillLv"
PRACTICESKILLINFO_SKILLLV_FIELD.full_name = ".rpc.protocols.PracticeSkillInfo.skillLv"
PRACTICESKILLINFO_SKILLLV_FIELD.number = 2
PRACTICESKILLINFO_SKILLLV_FIELD.index = 1
PRACTICESKILLINFO_SKILLLV_FIELD.label = 1
PRACTICESKILLINFO_SKILLLV_FIELD.has_default_value = false
PRACTICESKILLINFO_SKILLLV_FIELD.default_value = 0
PRACTICESKILLINFO_SKILLLV_FIELD.type = 5
PRACTICESKILLINFO_SKILLLV_FIELD.cpp_type = 1
PRACTICESKILLINFO.name = "PracticeSkillInfo"
PRACTICESKILLINFO.full_name = ".rpc.protocols.PracticeSkillInfo"
PRACTICESKILLINFO.nested_types = {}
PRACTICESKILLINFO.enum_types = {}
PRACTICESKILLINFO.fields = {PRACTICESKILLINFO_SKILLID_FIELD, PRACTICESKILLINFO_SKILLLV_FIELD}
PRACTICESKILLINFO.is_extendable = false
PRACTICESKILLINFO.extensions = {}
ActivityInfo = protobuf.Message(ACTIVITYINFO)
ActivityInfo.MissionInfo = protobuf.Message(ACTIVITYINFO_MISSIONINFO)
@ -8191,6 +8232,7 @@ PlayerBindPhone = protobuf.Message(PLAYERBINDPHONE)
PokemonInfo = protobuf.Message(POKEMONINFO)
Pokemoncomonpent = protobuf.Message(POKEMONCOMONPENT)
PosMineral = protobuf.Message(POSMINERAL)
PracticeSkillInfo = protobuf.Message(PRACTICESKILLINFO)
Privilege = protobuf.Message(PRIVILEGE)
PurpleMansionSeal = protobuf.Message(PURPLEMANSIONSEAL)
PurpleSealShowInfo = protobuf.Message(PURPLESEALSHOWINFO)

View File

@ -254,6 +254,8 @@ HEROUPLIKABLEREQUEST_ITEMID_FIELD = protobuf.FieldDescriptor();
HEROUPLIKABLEREQUEST_ITEMNUM_FIELD = protobuf.FieldDescriptor();
EQUIPBOOKINDICATION = protobuf.Descriptor();
EQUIPBOOKINDICATION_CHANGEEQUIPLIST_FIELD = protobuf.FieldDescriptor();
PRACTICESKILLUPREQUEST = protobuf.Descriptor();
PRACTICESKILLUPREQUEST_SKILLID_FIELD = protobuf.FieldDescriptor();
GETHEROLISTINFOREQUEST_INDEX_FIELD.name = "index"
GETHEROLISTINFOREQUEST_INDEX_FIELD.full_name = ".rpc.protocols.GetHeroListInfoRequest.index"
@ -2529,6 +2531,23 @@ EQUIPBOOKINDICATION.enum_types = {}
EQUIPBOOKINDICATION.fields = {EQUIPBOOKINDICATION_CHANGEEQUIPLIST_FIELD}
EQUIPBOOKINDICATION.is_extendable = false
EQUIPBOOKINDICATION.extensions = {}
PRACTICESKILLUPREQUEST_SKILLID_FIELD.name = "skillId"
PRACTICESKILLUPREQUEST_SKILLID_FIELD.full_name = ".rpc.protocols.PracticeSkillUpRequest.skillId"
PRACTICESKILLUPREQUEST_SKILLID_FIELD.number = 1
PRACTICESKILLUPREQUEST_SKILLID_FIELD.index = 0
PRACTICESKILLUPREQUEST_SKILLID_FIELD.label = 1
PRACTICESKILLUPREQUEST_SKILLID_FIELD.has_default_value = false
PRACTICESKILLUPREQUEST_SKILLID_FIELD.default_value = 0
PRACTICESKILLUPREQUEST_SKILLID_FIELD.type = 5
PRACTICESKILLUPREQUEST_SKILLID_FIELD.cpp_type = 1
PRACTICESKILLUPREQUEST.name = "PracticeSkillUpRequest"
PRACTICESKILLUPREQUEST.full_name = ".rpc.protocols.PracticeSkillUpRequest"
PRACTICESKILLUPREQUEST.nested_types = {}
PRACTICESKILLUPREQUEST.enum_types = {}
PRACTICESKILLUPREQUEST.fields = {PRACTICESKILLUPREQUEST_SKILLID_FIELD}
PRACTICESKILLUPREQUEST.is_extendable = false
PRACTICESKILLUPREQUEST.extensions = {}
AllBookEnableRequest = protobuf.Message(ALLBOOKENABLEREQUEST)
CancelHeroChangeRequest = protobuf.Message(CANCELHEROCHANGEREQUEST)
@ -2590,6 +2609,7 @@ PokemonFreeRequest = protobuf.Message(POKEMONFREEREQUEST)
PokemonFreeResponse = protobuf.Message(POKEMONFREERESPONSE)
PokenmonUpLevelRequest = protobuf.Message(POKENMONUPLEVELREQUEST)
PokenmonUpLevelResponse = protobuf.Message(POKENMONUPLEVELRESPONSE)
PracticeSkillUpRequest = protobuf.Message(PRACTICESKILLUPREQUEST)
PurpleMansionSealIndication = protobuf.Message(PURPLEMANSIONSEALINDICATION)
ReplacePrupleMansionSealResponse = protobuf.Message(REPLACEPRUPLEMANSIONSEALRESPONSE)
ReplacePurpleMansionSealRequest = protobuf.Message(REPLACEPURPLEMANSIONSEALREQUEST)

File diff suppressed because one or more lines are too long

View File

@ -74,6 +74,7 @@ GETPLAYERINFORESPONSE_DRAWTIMES_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_HELPFIGHTLIST_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_SIXIANGINFOS_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD = protobuf.FieldDescriptor();
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD = protobuf.FieldDescriptor();
GETITEMINFOREQUEST = protobuf.Descriptor();
GETITEMINFOREQUEST_INDEX_FIELD = protobuf.FieldDescriptor();
GETITEMINFORESPONSE = protobuf.Descriptor();
@ -1317,11 +1318,22 @@ GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD.default_value = 0
GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD.type = 5
GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD.cpp_type = 1
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.name = "practiceSkillInfos"
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.full_name = ".rpc.protocols.GetPlayerInfoResponse.practiceSkillInfos"
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.number = 48
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.index = 46
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.label = 3
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.has_default_value = false
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.default_value = {}
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.message_type = CommonProto_pb.PRACTICESKILLINFO
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.type = 11
GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD.cpp_type = 10
GETPLAYERINFORESPONSE.name = "GetPlayerInfoResponse"
GETPLAYERINFORESPONSE.full_name = ".rpc.protocols.GetPlayerInfoResponse"
GETPLAYERINFORESPONSE.nested_types = {}
GETPLAYERINFORESPONSE.enum_types = {}
GETPLAYERINFORESPONSE.fields = {GETPLAYERINFORESPONSE_PLAYER_FIELD, GETPLAYERINFORESPONSE_NEWPLAYERGUIDEPOINT_FIELD, GETPLAYERINFORESPONSE_PRIVILEGE_FIELD, GETPLAYERINFORESPONSE_GIFTGOODSINFO_FIELD, GETPLAYERINFORESPONSE_BUYGOODSID_FIELD, GETPLAYERINFORESPONSE_SUDDENLYBOSSINFO_FIELD, GETPLAYERINFORESPONSE_VIPLEVETAKE_FIELD, GETPLAYERINFORESPONSE_USERCREATETIME_FIELD, GETPLAYERINFORESPONSE_REDTYPE_FIELD, GETPLAYERINFORESPONSE_RANDCOUNT_FIELD, GETPLAYERINFORESPONSE_HEROHANDBOOK_FIELD, GETPLAYERINFORESPONSE_EQUIPHANDBOOK_FIELD, GETPLAYERINFORESPONSE_TOWERRECEIVEDREWARD_FIELD, GETPLAYERINFORESPONSE_GOODSTYPEDURATION_FIELD, GETPLAYERINFORESPONSE_TREASURELEVEL_FIELD, GETPLAYERINFORESPONSE_HADBUYTREASURE_FIELD, GETPLAYERINFORESPONSE_SIGNININFO_FIELD, GETPLAYERINFORESPONSE_FIRSTTENTH_FIELD, GETPLAYERINFORESPONSE_MONSTERATTACKTIME_FIELD, GETPLAYERINFORESPONSE_ISDAYFIRST_FIELD, GETPLAYERINFORESPONSE_PLAYERBINDPHONE_FIELD, GETPLAYERINFORESPONSE_QUESTIONSTATE_FIELD, GETPLAYERINFORESPONSE_SOULEQUIPPOOL_FIELD, GETPLAYERINFORESPONSE_PLAYEDMAPTYPES_FIELD, GETPLAYERINFORESPONSE_AMOUNT_FIELD, GETPLAYERINFORESPONSE_VIPDAILY_FIELD, GETPLAYERINFORESPONSE_MISSINGREFRESHCOUNT_FIELD, GETPLAYERINFORESPONSE_MONTHINFOS_FIELD, GETPLAYERINFORESPONSE_DAILYCHALLENGEINFO_FIELD, GETPLAYERINFORESPONSE_EXPEDITIONLEVE_FIELD, GETPLAYERINFORESPONSE_HADLUCKTIME_FIELD, GETPLAYERINFORESPONSE_HADADVANCELUCKTIME_FIELD, GETPLAYERINFORESPONSE_WORLDLEVE_FIELD, GETPLAYERINFORESPONSE_DEMONSTRIALREWARDINFO_FIELD, GETPLAYERINFORESPONSE_HEADFRAMEBAG_FIELD, GETPLAYERINFORESPONSE_USERSKINLIST_FIELD, GETPLAYERINFORESPONSE_USERTITLELIST_FIELD, GETPLAYERINFORESPONSE_USERMOUNTLIST_FIELD, GETPLAYERINFORESPONSE_DAILYREDPACK_FIELD, GETPLAYERINFORESPONSE_PRACTICELEVEL_FIELD, GETPLAYERINFORESPONSE_SEALLIST_FIELD, GETPLAYERINFORESPONSE_RANDOMCOUNT_FIELD, GETPLAYERINFORESPONSE_DRAWTIMES_FIELD, GETPLAYERINFORESPONSE_HELPFIGHTLIST_FIELD, GETPLAYERINFORESPONSE_SIXIANGINFOS_FIELD, GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD}
GETPLAYERINFORESPONSE.fields = {GETPLAYERINFORESPONSE_PLAYER_FIELD, GETPLAYERINFORESPONSE_NEWPLAYERGUIDEPOINT_FIELD, GETPLAYERINFORESPONSE_PRIVILEGE_FIELD, GETPLAYERINFORESPONSE_GIFTGOODSINFO_FIELD, GETPLAYERINFORESPONSE_BUYGOODSID_FIELD, GETPLAYERINFORESPONSE_SUDDENLYBOSSINFO_FIELD, GETPLAYERINFORESPONSE_VIPLEVETAKE_FIELD, GETPLAYERINFORESPONSE_USERCREATETIME_FIELD, GETPLAYERINFORESPONSE_REDTYPE_FIELD, GETPLAYERINFORESPONSE_RANDCOUNT_FIELD, GETPLAYERINFORESPONSE_HEROHANDBOOK_FIELD, GETPLAYERINFORESPONSE_EQUIPHANDBOOK_FIELD, GETPLAYERINFORESPONSE_TOWERRECEIVEDREWARD_FIELD, GETPLAYERINFORESPONSE_GOODSTYPEDURATION_FIELD, GETPLAYERINFORESPONSE_TREASURELEVEL_FIELD, GETPLAYERINFORESPONSE_HADBUYTREASURE_FIELD, GETPLAYERINFORESPONSE_SIGNININFO_FIELD, GETPLAYERINFORESPONSE_FIRSTTENTH_FIELD, GETPLAYERINFORESPONSE_MONSTERATTACKTIME_FIELD, GETPLAYERINFORESPONSE_ISDAYFIRST_FIELD, GETPLAYERINFORESPONSE_PLAYERBINDPHONE_FIELD, GETPLAYERINFORESPONSE_QUESTIONSTATE_FIELD, GETPLAYERINFORESPONSE_SOULEQUIPPOOL_FIELD, GETPLAYERINFORESPONSE_PLAYEDMAPTYPES_FIELD, GETPLAYERINFORESPONSE_AMOUNT_FIELD, GETPLAYERINFORESPONSE_VIPDAILY_FIELD, GETPLAYERINFORESPONSE_MISSINGREFRESHCOUNT_FIELD, GETPLAYERINFORESPONSE_MONTHINFOS_FIELD, GETPLAYERINFORESPONSE_DAILYCHALLENGEINFO_FIELD, GETPLAYERINFORESPONSE_EXPEDITIONLEVE_FIELD, GETPLAYERINFORESPONSE_HADLUCKTIME_FIELD, GETPLAYERINFORESPONSE_HADADVANCELUCKTIME_FIELD, GETPLAYERINFORESPONSE_WORLDLEVE_FIELD, GETPLAYERINFORESPONSE_DEMONSTRIALREWARDINFO_FIELD, GETPLAYERINFORESPONSE_HEADFRAMEBAG_FIELD, GETPLAYERINFORESPONSE_USERSKINLIST_FIELD, GETPLAYERINFORESPONSE_USERTITLELIST_FIELD, GETPLAYERINFORESPONSE_USERMOUNTLIST_FIELD, GETPLAYERINFORESPONSE_DAILYREDPACK_FIELD, GETPLAYERINFORESPONSE_PRACTICELEVEL_FIELD, GETPLAYERINFORESPONSE_SEALLIST_FIELD, GETPLAYERINFORESPONSE_RANDOMCOUNT_FIELD, GETPLAYERINFORESPONSE_DRAWTIMES_FIELD, GETPLAYERINFORESPONSE_HELPFIGHTLIST_FIELD, GETPLAYERINFORESPONSE_SIXIANGINFOS_FIELD, GETPLAYERINFORESPONSE_SERVEROPENTIME_FIELD, GETPLAYERINFORESPONSE_PRACTICESKILLINFOS_FIELD}
GETPLAYERINFORESPONSE.is_extendable = false
GETPLAYERINFORESPONSE.extensions = {}
GETITEMINFOREQUEST_INDEX_FIELD.name = "index"

View File

@ -7,6 +7,7 @@ local MonsterGroup = ConfigManager.GetConfig(ConfigName.MonsterGroup)
local MonsterConfig = ConfigManager.GetConfig(ConfigName.MonsterConfig)
local CombatControl = ConfigManager.GetConfig(ConfigName.CombatControl)
local SpiritAnimalSkill = ConfigManager.GetConfig(ConfigName.SpiritAnimalSkill)
local playerSkill = ConfigManager.GetConfig(ConfigName.PlayerSkill)
local FakeBattleNew = ConfigManager.GetConfig(ConfigName.FakeBattleNew)
local FEAConfig = require("Modules/Battle/Config/FightEffectAudioConfig")
local lastFightData = nil
@ -240,21 +241,51 @@ function this.MonsterSkillAdapter(MSkillId)
return skill
end
function this.PokemonUnitAdapter(pokemonUnit,camp)
function this.PlayerSkillAdapter(MSkillId)
local skill = {}
local monsterSkill = playerSkill[tonumber(MSkillId)]
for index, skillId in ipairs(monsterSkill.SkillIDList) do
skill[index] = {}
skill[index].effect = this.GetSkillData(tonumber(skillId))
skill[index].triggerId = monsterSkill.ReleasePoint[index]
skill[index].triggerCondition = {0}
if monsterSkill.ReleaseLimit and monsterSkill.ReleaseLimit[index] then
for k, v in ipairs(monsterSkill.ReleaseLimit[index]) do
skill[index].triggerCondition[k] = v
end
end
skill[index].maxCount = 999--monsterSkill.WarEffectCount[index] or 999
skill[index].maxRoundCount = 1--monsterSkill.TurnEffectCount[index] or 999
end
return skill
end
function this.PokemonUnitAdapter(pokemonUnit,camp,_teamDamage)
-- 基础数据
local role = {
id = tonumber(pokemonUnit.unitId),
position = tonumber(pokemonUnit.position),
star = tonumber(pokemonUnit.star),
teamDamage = _teamDamage,
camp = camp,
skill = {},
property = {},
}
-- 技能
local skills = string.split(pokemonUnit.unitSkillIds, "#")
for i = 1, #skills do
role.skill = this.MonsterSkillAdapter(tonumber(skills[i]))
if pokemonUnit.position==100 then -- 特殊处理位置 100 是玩家技能数据
for i = 1, #skills do
local newSkill=this.PlayerSkillAdapter(tonumber(skills[i]))
role.skill[i] = newSkill
end
else
for i = 1, #skills do
role.skill[i] = this.MonsterSkillAdapter(tonumber(skills[i]))
end
end
-- 属性
local propertys = string.split(pokemonUnit.property, "#")
for j = 1, #propertys do
@ -340,7 +371,8 @@ function this.GetBattleServerData(msg, isFightPlayer)
fightData.playerData.monsterList ={}
if data.pokemonUnitList then
for i = 1, #data.pokemonUnitList do
fightData.playerData.monsterList[i] = this.PokemonUnitAdapter(data.pokemonUnitList[i],0)
local pokemonData=data.pokemonUnitList[i]
fightData.playerData.monsterList[i] = this.PokemonUnitAdapter(pokemonData,0,data.forceScore)
end
end
@ -443,7 +475,7 @@ function this.GetBattleServerData(msg, isFightPlayer)
fightData.enemyData[i].monsterList ={}
if data2.pokemonUnitList then
for k = 1, #data2.pokemonUnitList do
fightData.enemyData[i].monsterList[k] = this.PokemonUnitAdapter(data2.pokemonUnitList[k],1)
fightData.enemyData[i].monsterList[k] = this.PokemonUnitAdapter(data2.pokemonUnitList[k],1,data2.forceScore)
end
end
end
@ -676,7 +708,6 @@ end
function this.GetFakeBattleData(fakeId)
local fakeConfig = FakeBattleNew[fakeId]
if not fakeConfig then
LogError("未找到假战斗数据:"..tostring(fakeId))
return
end
local battleData = {}

View File

@ -2399,6 +2399,65 @@ local effectList = {
end)
end)
end,
--造成主角战斗力[a]%+[b]的伤害
--a[float],b[int]
[128] = function(caster, target, args, interval, skill)
local pro = args[1]
local round = args[2]
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*pro)+round
BattleUtil.FinalDamageCountShield(nil,caster, target,damage)
end)
end,
--回复目标主角战斗力[a]%+[b]的生命值,溢出部分转换为等量御甲值
--a[float],b[int]
[129] = function(caster, target, args, interval, skill)
local pro = args[1]
local round = args[2]
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*pro)+round
local value=target:GetRoleData(RoleDataName.MaxHp)-target:GetRoleData(RoleDataName.Hp)
local yujia=0
if value>0 then
BattleUtil.FinalTreat(caster, target,value,1,skill)
else
value=0
end
if damage-value>0 then
if target.bloodShield then
target.bloodShield:AddValue(damage-value)
else
target:AddBuff(Buff.Create(caster,BuffName.Blood,0,damage-value))
end
end
end)
end,
--对目标造成流血状态,造成主角战斗力[a]%+[b]的间接伤害,持续[c]回合
--a[float],b[int],c[int]
[130] = function(caster, target, args, interval, skill)
local f1 = args[1]
local v1 = args[2]
local round = args[3]
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*f1)+v1
target:AddBuff(Buff.Create(caster, BuffName.DOT,round, 1,3,damage))
end)
end,
--对目标造成神佑状态,造成主角战斗力[a]%+[b]的血量,持续[c]回合,溢出部分转化为御甲
--a[float],b[int],c[int]
[131] = function(caster, target, args, interval, skill)
local f1 = args[1]
local v1 = args[2]
local round = args[3]
BattleLogic.WaitForTrigger(interval, function ()
local damage=floor(caster.teamDamage*f1)+v1
local buff=Buff.Create(caster, BuffName.HOT,round,1,damage)
buff.hotType=2
target:AddBuff(buff)
end)
end,
}
return effectList

View File

@ -5,7 +5,7 @@ function HOT:SetData(...)
self.interval,
self.healValue = ...
self.hotType=1 -- 1:治愈 2.神佑
-- 刷新排序等级
self.sort = 1 -- 最先计算回血
end
@ -19,7 +19,7 @@ end
--修改持续加血效果的加血值
function HOT:ChangeHealValue(newValue)
if newValue then
if newValue and self.hotType~=2 then
self.healValue=newValue
end
end
@ -28,7 +28,24 @@ end
function HOT:OnTrigger()
if not self.target.ctrl_noheal or self.target:IsDead() then --禁疗和死亡无法加血
BattleUtil.ApplyTreat(self.caster, self.target, self.healValue)
if self.hotType==2 then
local value=self.target:GetRoleData(RoleDataName.MaxHp)-self.target:GetRoleData(RoleDataName.Hp)
local yujia=0
if value>0 then
BattleUtil.FinalTreat(self.caster, self.target,value,1,nil)
else
value=0
end
if self.healValue-value>0 then
if target.bloodShield then
target.bloodShield:AddValue(self.healValue-value)
else
target:AddBuff(Buff.Create(self.caster,BuffName.Blood,0,self.healValue-value))
end
end
else
BattleUtil.ApplyTreat(self.caster, self.target, self.healValue)
end
end
return true
end

View File

@ -229,7 +229,7 @@ DotType = {
All = 0,
Burn = 1,
Poison = 2,
Blooding = 3,
Blooding = 3,
}
ControlType = {
@ -327,7 +327,8 @@ OutDataName = {
BattleUnitType = {
Role = 1,
Monster = 2
Monster = 2,
Player = 3,
}
BattleRoleElementType = {

View File

@ -537,7 +537,7 @@ end
-- 秒杀
function BattleUtil.Seckill(skill, atkRole, defRole)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster then
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
local damage = defRole:GetRoleData(RoleDataName.Hp)
@ -569,7 +569,7 @@ end
-- 秒杀定额血量
function BattleUtil.SeckillHP(skill, atkRole, defRole, pro)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster then
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
local damage = floor(BattleUtil.FP_Mul(defRole:GetRoleData(RoleDataName.MaxHp),pro))
@ -600,7 +600,7 @@ end
-- 计算真实伤害
function BattleUtil.ApplyDamage(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster then
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
@ -645,7 +645,7 @@ end
-- 计算真实伤害(没有被动增伤)
function BattleUtil.ApplyDamageNoPassive(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster then
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
-- 计算护盾减伤
@ -735,7 +735,7 @@ end
function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster then
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
if damage < 0 then damage = 0 end
@ -801,11 +801,86 @@ function BattleUtil.FinalDamage(skill, atkRole, defRole, damage, bCrit, damageTy
return finalDmg
end
--计算盾的最终伤害
function BattleUtil.FinalDamageCountShield(skill, atkRole, defRole, damage, bCrit, damageType, dotType,isDirect)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
-- 计算护盾减伤
damage = BattleUtil.CalShield(atkRole, defRole, damage,skill)
if damage < 0 then damage = 0 end
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
--御甲过滤后的伤害只会处理扣血 by: wangzhenxing shihongyi 2021/09/27
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)
defRole.Event:DispatchEvent(BattleEventName.RoleDead, atkRole)
atkRole.Event:DispatchEvent(BattleEventName.RoleKill, defRole,skill)
BattleLogic.Event:DispatchEvent(BattleEventName.BattleRoleDead, defRole, atkRole,skill,dotType)
end
atkRole.Event:DispatchEvent(BattleEventName.RoleDamage, defRole, damage, bCrit, finalDmg, damageType, dotType, skill)
defRole.Event:DispatchEvent(BattleEventName.RoleBeDamaged, atkRole, damage, bCrit, finalDmg, damageType, dotType, skill)
BattleLogic.Event:DispatchEvent(BattleEventName.RoleDamage, atkRole, defRole, damage, bCrit, finalDmg, damageType, dotType, skill)
BattleLogic.Event:DispatchEvent(BattleEventName.RoleBeDamaged, defRole, atkRole, damage, bCrit, finalDmg, damageType, dotType, skill)
if bCrit then
atkRole.Event:DispatchEvent(BattleEventName.RoleCrit, defRole, damage, bCrit, finalDmg, damageType, skill)
defRole.Event:DispatchEvent(BattleEventName.RoleBeCrit, atkRole, damage, bCrit, finalDmg, damageType, skill)
end
if skill then
atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
--如果目标是主燃烧目标 or 目标身上有燃烧效果
if atkRole.curMainTarget==defRole or BattleLogic.BuffMgr:HasBuff(defRole, BuffName.DOT,function(buff) return buff.damageType == 1 end) then
atkRole.Event:DispatchEvent(BattleEventName.HitRoleInBurn,skill,defRole)
end
end
--如果不是技能带的伤害,并且是直接伤害就,,,,,
--用于处理不触发特性并且是直接伤害的伤害 isDirect 暂时先为bool值后期可根据需求做修改扩展 by:王振兴 2020/10/12 16:18
if isDirect and not skill then
atkRole.Event:DispatchEvent(BattleEventName.RoleHit, defRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
defRole.Event:DispatchEvent(BattleEventName.RoleBeHit, atkRole, damage, bCrit, finalDmg, damageType, skill,isDirect)
end
end
-- 战斗记录用
BattleLogic.Event:DispatchEvent(BattleEventName.RecordDamage, atkRole, defRole, damage)
--
BattleLogManager.Log(
"Final Damage",
"acamp", atkRole.camp,
"apos", atkRole.position,
"tcamp", defRole.camp,
"tpos", defRole.position,
"damage", damage,
"dotType", tostring(dotType)
)
return finalDmg
end
--执行完整的命中,伤害,暴击计算,返回命中,暴击
--skill造成伤害的技能 atkRole攻击者 defRole受击者 damageType伤害类型 baseFactor伤害系数 ignoreDef无视防御参数 dotType是持续伤害类型
function BattleUtil.CalDamage(skill, atkRole, defRole, damageType, baseFactor, ignoreDef, dotType)
-- 灵兽无效
if defRole.type == BattleUnitType.Monster then
if defRole.type == BattleUnitType.Monster or defRole.type == BattleUnitType.Player then
return
end
-- 判断是否命中
@ -899,7 +974,7 @@ end
function BattleUtil.CalTreat(castRole, targetRole, value, baseFactor,skill)
-- 灵兽无效
if targetRole.type == BattleUnitType.Monster then
if targetRole.type == BattleUnitType.Monster or targetRole.type == BattleUnitType.Player then
return
end
BattleLogic.Event:DispatchEvent(BattleEventName.DisposeRoleCtrl_noheal, castRole,targetRole)
@ -930,7 +1005,7 @@ function BattleUtil.CalTreat(castRole, targetRole, value, baseFactor,skill)
end
function BattleUtil.FinalTreat(castRole, targetRole, value, baseFactor,skill)
-- 灵兽无效
if targetRole.type == BattleUnitType.Monster then
if targetRole.type == BattleUnitType.Monster or targetRole.type == BattleUnitType.Player then
return
end
BattleLogic.Event:DispatchEvent(BattleEventName.DisposeRoleCtrl_noheal, castRole,targetRole)

View File

@ -16,15 +16,27 @@ end
function Monster:Init(data)
self.type = BattleUnitType.Monster
self.camp = data.camp
if data.position==10 then
self.type = BattleUnitType.Player
end
self.position = data.position
self.star = data.star
self.uid= data.id
self.teamDamage=data.teamDamage
self.roleData = data
self.data:Init(self, data.property)
self.buffFilter:Clear() --buff屏蔽列表
self.Event:ClearEvent()
self.exileTargets={}--已经被放逐过的目标
self.skillGroup = MSkillManager.CreateMSkillGroup(self, data.skill)
-- self.skillGroup = MSkillManager.CreateMSkillGroup(self, data.skill)
self.skillList=data.skill
self.skillGroupList = {}
--for i = 1, #data.skill do
-- LogError("---------------------"..data.skill[i].skillData.effect[1])
--LogError("monster skill id=="..data.skill[i])
MSkillManager.CreateMSkillGroup(self, data.skill)
--end
end

View File

@ -138,22 +138,22 @@ local _ConditionConfig = {
local conId = condition[1]
local comType = condition[2]
local comValue = condition[3]
LogError("id=="..conId.." comtype=="..comType.." value=="..comValue)
-- 获取当前回合
local curRound = BattleLogic.GetCurRound()
if castRound==0 then
castRound=curRound
LogError("1111111 "..curRound)
return true
else
if curRound==castRound+comValue then
castRound=curRound
LogError("22222")
return true
end
end
return false
return true
-- local curRound = BattleLogic.GetCurRound()
-- if castRound==0 then
-- castRound=curRound
-- return true
-- else
-- if curRound==castRound+comValue then
-- castRound=curRound
-- LogError("22222")
-- return true
-- end
-- end
-- return false
end,
}

View File

@ -19,14 +19,15 @@ function MSkill:Init(owner, group, index, skillData)
self.curCastCount = 0
self.maxCastCount = self.skillData.maxCount
-- LogError("monster skill id=="..skillData.effect[1])
self.curRoundCount = 0
self.maxRoundCount = self.skillData.maxRoundCount
-- 将技能加入触发检测
MTrigger.AddSkill(self.skillData.triggerId, self.skillData.triggerCondition, self)
--MTrigger.AddSkill(self.skillData, self.skillData.triggerCondition, self)
local effectData = self.skillData.effect
self.id = effectData[1] -- 技能ID
-- 将技能加入触发检测
MTrigger.AddSkill(self.skillData.triggerId, self.skillData.triggerCondition, self)
self.hitTime = effectData[2] -- 效果命中需要的时间
self.continueTime = effectData[3] -- 命中后伤害持续时间
self.attackCount = effectData[4] -- 伤害持续时间内伤害次数

View File

@ -13,8 +13,15 @@ function MSkillGroup:Init(monster, groupData)
self.skillGroupData = groupData
-- 创建技能
self.skillList = {}
for index, data in ipairs(self.skillGroupData) do
self.skillList[index] = MSkillManager.CreateMSkill(monster, self, index, data)
local num=0
-- for index, data in ipairs(self.skillGroupData) do
-- LogError("careat skill=="..index.." data=="..data.effect[1])
-- num=num+1
-- self.skillList[num] = MSkillManager.CreateMSkill(monster, self, num, data)
-- end
for i = 1, #self.skillGroupData do
self.skillList[i] = MSkillManager.CreateMSkill(monster, self, i, self.skillGroupData[i])
end
end

View File

@ -36,7 +36,7 @@ function this.CreateMSkill(monster, group, index, skilldata)
if not this.MSkillList[m_index][index] then
this.MSkillList[m_index][index] = MSkill:New()
end
this.MSkillList[m_index][index]:Init(monster, group, index, skilldata)
this.MSkillList[m_index][index]:Init(monster, group, index, skilldata[1])
end
return MSkillManager

View File

@ -109,6 +109,7 @@ function this.InitListener()
-- 用于排序
local sortList = {}
-- 判断是否有需要触发的技能
local triggerSkill = this.TriggerList[triggerId]
if not triggerSkill then
return
@ -156,7 +157,7 @@ function MTrigger.AddSkill(triggerId, condition, skill)
if not this.TriggerList[triggerId] then
this.TriggerList[triggerId] = {}
end
table.insert(this.TriggerList[triggerId], {condition = condition, skill = skill})
table.insert(this.TriggerList[triggerId], {condition = condition, skill = skill,trigger= triggerId})
end
return MTrigger

View File

@ -29,6 +29,7 @@ function RoleLogic:Init(uid, data, position)
self.isDead = self:GetRoleData(RoleDataName.Hp) <= 0
self.isRealDead = self.isDead
self.killDamage = 0 --致死伤害
self.teamDamage = data.teamDamage --最高战斗力
self.superSkillDamage = 0 --技能伤害
self.killRole=nil --击杀英雄
self.camp = data.camp --阵营 0我方 1敌方

View File

@ -180,7 +180,8 @@ function this:InitComponent(root, go)
this.MonsterList[i] = Util.GetGameObject(this.gameObject, "playerMonster/list/"..i)
this.MonsterList[6 + i] = Util.GetGameObject(this.gameObject, "enemyMonster/list/"..i)
end
this.MonsterList[100] = Util.GetGameObject(this.gameObject, "playerMonster/list/100")
this.MonsterList[101] = Util.GetGameObject(this.gameObject, "enemyMonster/list/101")
this.fightIdText = Util.GetGameObject(this.gameObject, "fightId"):GetComponent("Text")
end
function this:BindEvent()
@ -662,14 +663,28 @@ end
function this.OnAddMonster(data)
LogPink(data.camp.."addmonster"..data.position)
local parent = this.MonsterList[data.camp * 6 + data.position]
parent:SetActive(true)
local go = BattlePool.GetItem(parent.transform, BATTLE_POOL_TYPE.Monster)
tbMonster[data] = MonsterView.New(go, data, data.position, this)
go.transform.localScale = Vector3.one
go.transform.localPosition = Vector3.zero
go.transform.anchoredPosition = Vector2.zero
go:SetActive(true)
local posIndex=0
if data.position==100 then
posIndex=data.camp + data.position
else
posIndex=data.camp * 6 + data.position
end
local parent = this.MonsterList[posIndex]
if parent then
parent:SetActive(true)
local go = BattlePool.GetItem(parent.transform, BATTLE_POOL_TYPE.Monster)
tbMonster[data] = MonsterView.New(go, data, data.position, this)
go.transform.localScale = Vector3.one
go.transform.localPosition = Vector3.zero
go.transform.anchoredPosition = Vector2.zero
if posIndex>=100 then
LogError(">>>>>>>>>>>>>100")
go:SetActive(false)
else
go:SetActive(true)
end
end
end
function this.OnRemoveMonster(data)
local view = tbMonster[data]

View File

@ -25,7 +25,8 @@ local function _GetBuffEffectConfig(buff)
if bType == BuffName.PropertyChange then
cType = _GetPropChangeBuffCType(buff.propertyName)
elseif bType == BuffName.HOT then
cType = 1
--cType = 1
cType = buff.hotType
elseif bType == BuffName.DOT then
cType = buff.damageType
elseif bType == BuffName.Brand then

View File

@ -456,11 +456,11 @@ function EnemyView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotTyp
self.Floater:ArtFloating(ArtFloatingType.PoisonDamage, ArtFloatingColor.Poison, dmg,TextFloatingColor.DarkGreen)
elseif dotType == DotType.Burn then
self.Floater:ArtFloating(ArtFloatingType.FireDamage, ArtFloatingColor.Fire, dmg)
elseif dotType == DotType.Blooding then
self.Floater:ArtFloating(ArtFloatingType.BleedDamage, ArtFloatingColor.Fire, dmg)
else
self.Floater:TextBuffFloating(2, DotTypeTip[dotType]..dmg)
end
else
if bCrit then -- 暴击红色并显示暴击
self.Floater:ArtFloating(ArtFloatingType.CritDamage, ArtFloatingColor.Red, dmg)

View File

@ -28,6 +28,7 @@ ArtFloatingType = {
FireDamage = 4,
PoisonDamage = 5,
yujiaAdd = 6,
BleedDamage = 7,
}
local ArtFloatingAnim = {
[1] = "Crit_Attack_Float",
@ -196,6 +197,10 @@ function FloatNode:GetArtText(type, color, value)
elseif type == ArtFloatingType.yujiaAdd then
sp = "z_zhandou_yujia_zh" --御甲
text = text .. string.char((color*2)+111) -- 减号
elseif type == ArtFloatingType.BleedDamage then
sp = "z_zhandou_liuxue_zh" -- 流血
text = text .. string.char((color*2)+110) -- 减号
end
-- 数字
local str = tostring(value)

View File

@ -29,7 +29,19 @@ function MonsterView:onCreate(go, role, position, root)
self.icon = Util.GetGameObject(go, "icon"):GetComponent("Image")
-- 获取数据
self.livePath = GetResourcePath(SpiritAnimal[role.roleData.id].Live)
local live=0
if position==100 then
if NameManager.roleSex==ROLE_SEX.BOY then
self.livePath="live2d_npc_boy"
else
self.livePath="live2d_npc_girl"
end
--self.livePath="live2d_npc_girl"
role.roleData.id=20100
else
self.livePath = GetResourcePath(SpiritAnimal[role.roleData.id].Live)
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(SpiritAnimal[role.roleData.id].Icon))
end
self.play_liveScale = SpiritAnimal[role.roleData.id].play_liveScale
self.enemy_liveScale = SpiritAnimal[role.roleData.id].enemy_liveScale
self.offset = SpiritAnimal[role.roleData.id].offset
@ -38,7 +50,7 @@ function MonsterView:onCreate(go, role, position, root)
self.atkSoundTime = SpiritAnimal[role.roleData.id].CastingAudio/1000
self.attackSound = SpiritAnimal[role.roleData.id].sond
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(SpiritAnimal[role.roleData.id].Icon))
-- 人物立绘
-- self.RoleLiveGO = poolManager:LoadLive(self.livePath, self.skillCastRoot.transform.parent, Vector3.one, Vector3.zero)
-- self.RoleLiveGO.transform:SetParent(self.liveRoot.transform)
@ -148,7 +160,11 @@ function MonsterView:OnSkillCastingStart()
if self.RoleLiveGO2 then
-- 提前进入下一阶段
self.RoleLiveGO2:SetActive(true)
self:PlaySpineAnim(self.RoleLiveGOGraphic2, 0, "attack", false)
local animName="attack"
if self.role.roleData.id==20100 then
animName="idle"
end
self:PlaySpineAnim(self.RoleLiveGOGraphic2, 0,animName , false)
end
end

View File

@ -232,6 +232,7 @@ function this.PlayerInfoRequest(func)
PracticeManager.UpdataFromServer(msg.practiceLevel)--修行等级
PracticeManager.UpdataImprintDataFromServer(msg.sealList)--神印列表
RecruitManager.SetRecruit3MustCount(msg.randomCount)
PracticeManager.UpdataPlayerSkill(msg.practiceSkillInfos)--主角技能
PracticeManager.InitFourQuadrantData(msg.sixiangInfos)
-- 服务器开启时间
PlayerManager.SetServerOpenTime(msg.serverOpenTime)
@ -5353,6 +5354,7 @@ function this.UpPracticeLevelRequest(func)
local msg = HeroInfoProto_pb.UpPracticeLevelResponse()
msg:ParseFromString(data)
PracticeManager.UpdataFromServer(msg.practiceLevel)
PracticeManager.AddPlayerSkill(msg.practiceLevel)
if func then
func(msg)
end
@ -5912,5 +5914,15 @@ function NetManager.HeroUpLikableRequest(heroId,itemId,itemNum,func)
end
end)
end
function NetManager.PracticeSkillUpRequest(id,func)
local data=HeroInfoProto_pb.PracticeSkillUpRequest()
data.skillId = id
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.PRACTICE_SKILL_UP_REQUEST, MessageTypeProto_pb.PRACTICE_SKILL_UP_RESPONSE, msg, function(buffer)
if func then
func()
end
end)
end
return this

View File

@ -3,7 +3,7 @@ local this = PracticeManager
local XiuXianConfig = ConfigManager.GetConfig(ConfigName.XiuXianConfig)
local PropertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local XiuXianSkillConfig = ConfigManager.GetConfig(ConfigName.XiuXianSkillConfig)
local PropertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig)
local SkillBaseConfig= ConfigManager.GetConfig(ConfigName.PlayerSkillBasicTable)
function this.Initialize()
this.PracticeLevel = 1--小境界id
@ -17,14 +17,63 @@ function this.Initialize()
this.LinesData = {}
this.FourQuadrantData={}--四象心法数据
this.fourQuadrantUpStarPropMap={}--四象心法进阶属性加成职业id<属性id属性值>
this.playerSkillList={} --主角技能列表
for key, value in ConfigPairs(SkillBaseConfig) do
--table.insert(this.playerSkillList,{id=value.Id,lv=0})
LogError("vlaue id=="..value.Id)
this.playerSkillList[value.Id]=0
end
end
function this.GetSkillInfo()
return this.playerSkillList
end
--更新角色技能
function this.UpdataPlayerSkill(msg)
for i = 1, #msg do
LogError("msg id=="..msg[i].skillId.." vlaue =="..msg[i].skillLv)
if this.playerSkillList[msg[i].skillId] then
this.playerSkillList[msg[i].skillId]=msg[i].skillLv
LogError("////////////")
end
end
-- for key, value in pairs(msg) do
-- LogError("**********"..value.skillId.." lv=="..value.skillLv)
-- if this.playerSkillList[value.skillId] then
-- this.playerSkillList[value.skillId]=value.skillLv
-- LogError("////////////")
-- end
-- end
end
--设置角色技能等级
function this.SetPlayerSkill(id,lv)
LogError("set== id="..id.." value=="..lv)
if this.playerSkillList[id] then
this.playerSkillList[id]=lv
end
end
--设置角色技能等级
function this.AddPlayerSkill(lv)
if XiuXianConfig[lv].PlayerSkill then
for i = 1, #XiuXianConfig[lv].PlayerSkill do
LogError("add=========="..XiuXianConfig[lv].PlayerSkill[i])
this.playerSkillList[XiuXianConfig[lv].PlayerSkill[i]]=1
end
end
end
--从服务器更新当前修行等级
function this.UpdataFromServer(_level)
this.PracticeLevel = _level
this.PracticeLevel = this.PracticeLevel > 0 and this.PracticeLevel or 1
this.PracticeBigLevel = XiuXianConfig[this.PracticeLevel].RealmId
this.StarNum = FightLevelManager.GetAllChapterStars()
--
HeroPropManager.SetFuncPropDirty(Func_Prop_Type.Practice)
end
@ -237,6 +286,18 @@ function this.SetNameColor(name,level)
-- LogYellow("name:"..tostring(name).." clr:"..tostring(clr))
return "<color=#"..clr..">"..name.."</color>"
end
--获取大境界对应的段位名称
function this.GetRankNameByLv(lv)
for i, v in ConfigPairs(XiuXianConfig) do
if v.RealmId==lv then
return "<color=#"..v.NameFontColor..">"..v.RealmName.."".."</color>"
end
end
return nil
end
--查找英雄对应的神印
function this.CheckHeroWearImprint(heroDid)
if this.HeroWithImprintList[heroDid] then

View File

@ -6,6 +6,7 @@ local oldPower = 0
local newPower = 0
local oldBigLevel = 0
local globalSystemConfig = ConfigManager.GetConfigData(ConfigName.GlobalSystemConfig,FUNCTION_OPEN_TYPE.FOURQUADRANT)
local SkillBaseConfig= ConfigManager.GetConfig(ConfigName.PlayerSkillBasicTable)
function Practice:InitComponent()
self.spLoader = SpriteLoader.New()
orginLayer = 0
@ -65,6 +66,11 @@ function Practice:InitComponent()
Util.GetGameObject(self.treeBtn,"treebtn"):GetComponent("Image").sprite = self.spLoader:LoadSprite("j_jianmushenshu_anniu_01_zh")
self.treeRed = Util.GetGameObject(self.treeBtn, "redPoint")
self.skillObj=Util.GetGameObject(self.gameObject, "SkillObj")
self.skillList={}
for i = 1, 4 do
table.insert(self.skillList,Util.GetGameObject(self.gameObject, "SkillObj/skill"..i))
end
end
function Practice:BindEvent()
@ -163,6 +169,7 @@ function Practice:BtnClickEvent()
end
end
--战力更改请求
Practice:SetSkillInfo()
PracticeManager.ShowTipsOnUpgrade()
NetManager.RequestUserForceChange(FormationTypeDef.FORMATION_NORMAL)
if PracticeManager.PracticeBigLevel - oldBigLevel == 1 then
@ -206,6 +213,41 @@ function Practice:OnOpen()
self.BtView:OnOpen(self,{ sortOrder = self.sortingOrder, panelType = PanelTypeView.Practice })
self.mask:SetActive(false)
self.skillObj:SetActive(true)
Practice:SetSkillInfo()
end
--设置技能信息显示
function Practice:SetSkillInfo()
local list=PracticeManager.GetSkillInfo()
--table.sort(list)
local index=1
-- for index, value in ipairs(myTable) do
-- -- body
-- end
for i = 100, 400,100 do
local item=self.skillList[index]
Util.GetGameObject(item, "icon"):GetComponent("Image").sprite=self.spLoader:LoadSprite(GetResourcePath(tonumber(SkillBaseConfig[i].Icon)))
if list[i] and list[i]~=0 then
Util.GetGameObject(item, "mask"):SetActive(false)
Util.GetGameObject(item, "Text"):SetActive(true)
Util.GetGameObject(item, "Text"):GetComponent("Text").text=list[i]
else
Util.GetGameObject(item, "mask"):SetActive(true)
Util.GetGameObject(item, "Text"):SetActive(false)
end
Util.AddClick(item,function()
UIManager.OpenPanel(UIName.PracticeSkillInfoPanel,i,list[i])
end)
index=index+1
end
for key, value in pairs(list) do
end
end
function Practice:OnFocus()
Practice:SetSkillInfo()
end
function Practice:OnSortingOrderChange()
@ -398,6 +440,7 @@ function Practice:OnDestroy()
ClearRedPointObject(RedPointType.Practice_imprint,self.imprintRedPoint)
ClearRedPointObject(RedPointType.Practice_fourQua,self.fourQuadrantRedPoint)
self.itemList = {}
self.skillList={}
self.pointList = {}
self.lineList = {}
self.effectUpgradeList = {}

View File

@ -0,0 +1,118 @@
local PracticeSkillInfoPanel = quick_class("PracticeSkillInfoPanel", BasePanel)
--按钮状态
local btnState=0
local costConfig
local skillId=0
local skillLv=0
local nextData
function PracticeSkillInfoPanel:InitComponent()
self.spLoader = SpriteLoader.New()
self.titleTxt=Util.GetGameObject(self.gameObject, "bg/title"):GetComponent("Text")
self.skillIcon=Util.GetGameObject(self.gameObject, "bg/skill/icon"):GetComponent("Image")
self.skillLv=Util.GetGameObject(self.gameObject, "bg/skill/Text"):GetComponent("Text")
self.lockObj=Util.GetGameObject(self.gameObject, "bg/skill/mask")
self.hintInfo=Util.GetGameObject(self.gameObject, "bg/hintTxt"):GetComponent("Text")
self.currInfo=Util.GetGameObject(self.gameObject, "bg/currInfo"):GetComponent("Text")
self.nextInfo=Util.GetGameObject(self.gameObject, "bg/nextInfo"):GetComponent("Text")
self.costImg=Util.GetGameObject(self.gameObject, "bg/costImg"):GetComponent("Image")
self.costNum=Util.GetGameObject(self.gameObject, "bg/costImg/Text"):GetComponent("Text")
self.btn_up=Util.GetGameObject(self.gameObject, "bg/btn")
self.btn_close=Util.GetGameObject(self.gameObject, "bg/btnBack")
self.btn_info=Util.GetGameObject(self.gameObject, "bg/btn/Text"):GetComponent("Text")
end
function PracticeSkillInfoPanel:BindEvent()
--升级按钮
Util.AddClick(self.btn_up, function()
if btnState==4 then
PopupTipPanel.ShowTip(costConfig.Name.."不足,无法升级技能")
return
elseif btnState==3 then
NetManager.PracticeSkillUpRequest(skillId,function()
LogError("point skillId=="..skillId)
PopupTipPanel.ShowTip("技能升级成功!")
if nextData then
PracticeSkillInfoPanel:RefreshShow(skillId,skillLv+1)
PracticeManager.SetPlayerSkill(skillId,skillLv)
end
end)
end
end)
--关闭按钮
Util.AddClick(self.btn_close, function()
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
self:ClosePanel()
end)
end
local currLv=0
function PracticeSkillInfoPanel:OnOpen(id,lv)
PracticeSkillInfoPanel:RefreshShow(id,lv)
end
function PracticeSkillInfoPanel:RefreshShow(id,lv)
if lv==0 then
currLv=1
else
currLv=lv
end
LogError("level====="..lv)
skillLv=lv
skillId=id
LogError("skillid==="..skillId)
local currData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.PlayerSkill,"SkillID",id,"Level",currLv)
nextData=ConfigManager.TryGetConfigDataByDoubleKey(ConfigName.PlayerSkill,"SkillID",id,"Level",currLv+1)
self.currInfo.text="本级效果:"..currData.Desc
self.skillIcon.sprite=self.spLoader:LoadSprite(GetResourcePath(currData.Icon))
self.titleTxt.text=currData.Name
self.skillLv.text=currLv
--没有下一等级
if not nextData then
self.nextInfo.gameObject:SetActive(false)
self.costImg.gameObject:SetActive(false)
self.hintInfo.gameObject:SetActive(false)
self.btn_info.text="已达上限"
Util.SetGray(self.btn_up,true)
btnState=1 --已达上限
else
self.nextInfo.text="下级效果:"..nextData.Desc
--如果等级为0 表示未解锁
if lv==0 then
self.btn_info.text="未解锁"
self.hintInfo.gameObject:SetActive(true)
self.costImg.gameObject:SetActive(false)
self.hintInfo.text="修行到达"..PracticeManager.GetRankNameByLv(nextData.XiuxianId).."后方可升级"
Util.SetGray(self.btn_up,true)
btnState=2 --未解锁技能
else
if nextData.XiuxianId>PracticeManager.PracticeLevel then
self.btn_info.text="升 级"
self.hintInfo.gameObject:SetActive(true)
self.costImg.gameObject:SetActive(false)
Util.SetGray(self.btn_up,true)
self.hintInfo.text="修行到达"..PracticeManager.GetRankNameByLv(nextData.XiuxianId).."后方可升级"
btnState=2
else
self.btn_info.text="升 级"
self.hintInfo.gameObject:SetActive(false)
self.costImg.gameObject:SetActive(true)
local icon,cost=SetIcon(self.spLoader,currData.LvupCost[1][1])
costConfig=cost
self.costImg.sprite=icon
if BagManager.GetItemCountById(currData.LvupCost[1][1])>=currData.LvupCost[1][2] then
self.costNum.color=UIColor.WRITE
btnState=3 --可以点击
else
self.costNum.color=UIColor.RED
btnState=4 --货币不足
end
self.costNum.text=currData.LvupCost[1][2]
Util.SetGray(self.btn_up,false)
end
end
end
end
return PracticeSkillInfoPanel

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 92fee0c6f2e97d849a753e42973ce7c8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: