diff --git a/Assets/GWConquest/Animations/BattleUnitIconStatus.anim b/Assets/GWConquest/Animations/BattleUnitIconStatus.anim new file mode 100644 index 0000000..d0db93f --- /dev/null +++ b/Assets/GWConquest/Animations/BattleUnitIconStatus.anim @@ -0,0 +1,179 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BattleUnitIconStatus + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: StatusIcon + classID: 225 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: StatusIcon + classID: 1 + script: {fileID: 0} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 436194413 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 436194413 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 3 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0.6 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: StatusIcon + classID: 225 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: StatusIcon + classID: 1 + script: {fileID: 0} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/GWConquest/Animations/BattleUnitIconStatus.anim.meta b/Assets/GWConquest/Animations/BattleUnitIconStatus.anim.meta new file mode 100644 index 0000000..700b1bd --- /dev/null +++ b/Assets/GWConquest/Animations/BattleUnitIconStatus.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 629bfb7288013594a916b0ddad2119ed +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GWConquest/Animations/UnitDemoralized.anim b/Assets/GWConquest/Animations/UnitDemoralized.anim new file mode 100644 index 0000000..eb2c3c4 --- /dev/null +++ b/Assets/GWConquest/Animations/UnitDemoralized.anim @@ -0,0 +1,1093 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UnitDemoralized + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: {x: 0.2, y: 0.2, z: 0.2} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.33333334 + value: {x: 0.45, y: 0.45, z: 0.45} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.1 + value: {x: 0.45, y: 0.45, z: 0.45} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 2.4 + value: {x: 0.2, y: 0.2, z: 0.2} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: EffectImage + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: EffectImage + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.1666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: EffectImage + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: HitpointBar + classID: 225 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.6415094 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.r + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.6415094 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.g + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.6415094 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.b + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.155 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.r + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.155 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.g + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.155 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.b + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.28235295 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.28235295 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_PPtrCurves: + - curve: + - time: 0 + value: {fileID: 21300000, guid: 7ac09bcb1adcd01479663dda61965d38, type: 3} + attribute: m_Sprite + path: EffectImage + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 1327555438 + attribute: 3 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1327555438 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1327555438 + attribute: 304273561 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 172550804 + attribute: 1574349066 + script: {fileID: 0} + typeID: 225 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 4179961175 + attribute: 2526845255 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 4179961175 + attribute: 4215373228 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 4179961175 + attribute: 2334886179 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 4179961175 + attribute: 304273561 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2763502510 + attribute: 2526845255 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2763502510 + attribute: 4215373228 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2763502510 + attribute: 2334886179 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2763502510 + attribute: 304273561 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1327555438 + attribute: 2015549526 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 21300000, guid: 7ac09bcb1adcd01479663dda61965d38, type: 3} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 3.1666667 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: EffectImage + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.45 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.45 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.x + path: EffectImage + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.45 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.45 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.y + path: EffectImage + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.45 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.45 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalScale.z + path: EffectImage + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 3.1666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: EffectImage + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Alpha + path: HitpointBar + classID: 225 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.6415094 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.r + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.6415094 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.g + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0.6415094 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.b + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: Image/UnitSprite + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.155 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.r + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.155 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.g + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.15686275 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.155 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.b + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.33333334 + value: 0.28235295 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.1 + value: 0.28235295 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.4 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: Image (1) + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/GWConquest/Animations/UnitDemoralized.anim.meta b/Assets/GWConquest/Animations/UnitDemoralized.anim.meta new file mode 100644 index 0000000..8fcc618 --- /dev/null +++ b/Assets/GWConquest/Animations/UnitDemoralized.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1d334971cd1e24499e92d7da2584c6d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GWConquest/Prefabs/UI/BattleUnitIcon.prefab b/Assets/GWConquest/Prefabs/UI/BattleUnitIcon.prefab index 881dd93..77acda6 100644 --- a/Assets/GWConquest/Prefabs/UI/BattleUnitIcon.prefab +++ b/Assets/GWConquest/Prefabs/UI/BattleUnitIcon.prefab @@ -357,6 +357,7 @@ RectTransform: - {fileID: 1619096850430010799} - {fileID: 4629381076523769751} - {fileID: 6898856656273588703} + - {fileID: 7828031372068586346} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -880,6 +881,93 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7442372341667517432 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7828031372068586346} + - component: {fileID: 5033204324920411386} + - component: {fileID: 7387958236946746166} + - component: {fileID: 1627981958736696142} + m_Layer: 5 + m_Name: StatusIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &7828031372068586346 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7442372341667517432} + 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: 1687732570946376589} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -14.95, y: -14.95} + m_SizeDelta: {x: 17.909912, y: 17.909912} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5033204324920411386 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7442372341667517432} + m_CullTransparentMesh: 0 +--- !u!114 &7387958236946746166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7442372341667517432} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: fd4e57d78cebde94c93491472fc3e29e, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!225 &1627981958736696142 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7442372341667517432} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &8454795717883815553 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab b/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab index 761f228..f0a6204 100644 --- a/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab +++ b/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoPanel.prefab @@ -1928,8 +1928,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 215.66, y: -124.600006} - m_SizeDelta: {x: 369.52673, y: 40} + m_AnchoredPosition: {x: 121.8, y: -142} + m_SizeDelta: {x: 201.67157, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &970845491 MonoBehaviour: @@ -2514,6 +2514,8 @@ RectTransform: - {fileID: 976787390} - {fileID: 1186293691} - {fileID: 645723848} + - {fileID: 1782912955917142690} + - {fileID: 7478201132156399777} - {fileID: 4183062453838646385} - {fileID: 1815122357} - {fileID: 1956104733} @@ -2653,8 +2655,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 65, y: -19.999992} - m_SizeDelta: {x: 40, y: 40} + m_AnchoredPosition: {x: 50, y: -15} + m_SizeDelta: {x: 30, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1755710427 CanvasRenderer: @@ -2727,8 +2729,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 110, y: -19.999992} - m_SizeDelta: {x: 40, y: 40} + m_AnchoredPosition: {x: 85, y: -15} + m_SizeDelta: {x: 30, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1796564681 CanvasRenderer: @@ -2870,7 +2872,7 @@ RectTransform: m_Children: - {fileID: 1510249208} m_Father: {fileID: 1633224751} - m_RootOrder: 4 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -2982,7 +2984,7 @@ RectTransform: - {fileID: 97383651} - {fileID: 8941149813514926760} m_Father: {fileID: 1633224751} - m_RootOrder: 5 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -3464,14 +3466,12 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1782912955917142690} - - {fileID: 7478201132156399777} - {fileID: 6438755333632880771} - {fileID: 6958907541033482034} - {fileID: 431318479979926576} - {fileID: 3889681213715587659} m_Father: {fileID: 1633224751} - m_RootOrder: 7 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -4159,8 +4159,8 @@ RectTransform: m_Children: - {fileID: 10231081084531379} - {fileID: 1261076591364960351} - m_Father: {fileID: 254456684739317276} - m_RootOrder: 0 + m_Father: {fileID: 1633224751} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -4537,8 +4537,8 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 254456684739317276} - m_RootOrder: 1 + m_Father: {fileID: 1633224751} + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -4617,7 +4617,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 254456684739317276} - m_RootOrder: 5 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0} @@ -5053,7 +5053,7 @@ RectTransform: - {fileID: 1390411249} - {fileID: 218688405} m_Father: {fileID: 1633224751} - m_RootOrder: 6 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -5237,7 +5237,7 @@ RectTransform: m_Children: - {fileID: 4960444392019862603} m_Father: {fileID: 254456684739317276} - m_RootOrder: 2 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -5575,7 +5575,7 @@ RectTransform: - {fileID: 3110013580971657299} - {fileID: 789451306038636285} m_Father: {fileID: 254456684739317276} - m_RootOrder: 3 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -6049,6 +6049,8 @@ MonoBehaviour: UnitNameText: {fileID: 976787391} HealthBar: {fileID: 487272288} HealthBarText: {fileID: 645723849} + MoraleBar: {fileID: 674725064465506083} + MoraleBarText: {fileID: 7499795168198538339} DescriptionText: {fileID: 135006939} UnitObjects: {fileID: 4617211388595578265} StatusIconsTransform: {fileID: 1815122357} @@ -6302,7 +6304,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 254456684739317276} - m_RootOrder: 4 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} @@ -6910,12 +6912,12 @@ PrefabInstance: - target: {fileID: 7541130419680964749, guid: 12f3a6f1f9c4a274883c016ebe2c9065, type: 3} propertyPath: m_SizeDelta.x - value: 40 + value: 30 objectReference: {fileID: 0} - target: {fileID: 7541130419680964749, guid: 12f3a6f1f9c4a274883c016ebe2c9065, type: 3} propertyPath: m_SizeDelta.y - value: 40 + value: 30 objectReference: {fileID: 0} - target: {fileID: 7541130419680964749, guid: 12f3a6f1f9c4a274883c016ebe2c9065, type: 3} @@ -6955,12 +6957,12 @@ PrefabInstance: - target: {fileID: 7541130419680964749, guid: 12f3a6f1f9c4a274883c016ebe2c9065, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 15 objectReference: {fileID: 0} - target: {fileID: 7541130419680964749, guid: 12f3a6f1f9c4a274883c016ebe2c9065, type: 3} propertyPath: m_AnchoredPosition.y - value: -19.999992 + value: -15 objectReference: {fileID: 0} - target: {fileID: 7541130419680964749, guid: 12f3a6f1f9c4a274883c016ebe2c9065, type: 3} @@ -7221,7 +7223,7 @@ PrefabInstance: - target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47, type: 3} propertyPath: m_RootOrder - value: 3 + value: 5 objectReference: {fileID: 0} - target: {fileID: 7870129596896663125, guid: 8b0edf9c7ac699a4da4b06f9b352ff47, type: 3} diff --git a/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab b/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab index ce163da..b210230 100644 --- a/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab +++ b/Assets/GWConquest/Prefabs/UI/UnitInfoPanel/InfoValueIcon.prefab @@ -12,7 +12,7 @@ GameObject: - component: {fileID: 7541130419680964747} - component: {fileID: 7541130419680964746} m_Layer: 5 - m_Name: Image (1) + m_Name: InfoValueIcon m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -35,7 +35,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} m_AnchoredPosition: {x: 20, y: -19.999992} - m_SizeDelta: {x: 40, y: 40} + m_SizeDelta: {x: 30, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7541130419680964747 CanvasRenderer: diff --git a/Assets/GWConquest/Resources/Database/Ships.csv b/Assets/GWConquest/Resources/Database/Ships.csv index a201efb..f358c6e 100644 --- a/Assets/GWConquest/Resources/Database/Ships.csv +++ b/Assets/GWConquest/Resources/Database/Ships.csv @@ -1,45 +1,49 @@ -Full Name,Short Name,Unit Type,Hitpoints,Shields,Shield Regeneration,Attack Count,Damage,Penetration,Accuracy,Armour,Evasion,Movement,Attack Range,Size,Equipment Slots,Inventory Slots,Build Time,Credit Upkeep,Food Upkeep,Min Factory Tier,S-P Transporter,Boarding Ships,Fighter Bomber Capacitiy,Description,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost +Full Name,Short Name,Unit Type,Hitpoints,Shields,Shield Regeneration,Attack Count,Damage,Penetration,Accuracy,Armour,Evasion,Movement,Attack Range,Equipment Slots,Inventory Slots,Morale,Build Time,Credit Upkeep,Food Upkeep,Min Factory Tier,S-P Transporter,Boarding Ships,Fighter Bomber Capacitiy,Description,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost ,,,,,,,,,,,,,,,,,in sec,pro sec,pro sec,,,,,,,,, -Strike Craft,StrikeCraft,Ship,100,30,1,1,10,1,0.9,0,0.1,5,1,3,4,6,10,2,2,1,,,,Basic strike craft,200,10,10,10 -Frigate,Frigate,Ship,200,100,1,2/4,20/5,2/0,0.9/0.8,1,0,4,1,20,4,6,10,2,2,3,,,,Basic strike craft,200,10,10,10 -Escort Frigate,EscortFrigate,Ship,180,100,1,1/6,20/10,2/0,0.9/0.8,1,0,5,1,20,4,6,10,2,2,3,,,,Basic strike craft,200,10,10,10 -Cruiser,Cruiser,Ship,300,150,2,3/2/3,35/15/8,3/2/0,0.9/0.9/0.8,2,0,3,1,20,4,6,10,2,2,3,,,,Basic strike craft,200,10,10,10 -Heavy Cruiser,HeavyCruiser,Ship,350,175,2,3/2/2,40/15/8,3/2/0,0.9/0.9/0.8,2,0,3,1,20,4,6,10,2,2,3,,,,Basic strike craft,200,10,10,10 -Destroyer,Destroyer,Ship,500,250,2,2/3/2,60/30/10,4/3/0,0.9/0.9/0.8,3,0,2.5,2,20,4,6,10,2,2,3,,,,Basic strike craft,200,10,10,10 -Battleship,Battleship,Ship,1000,600,3,2/2/4/4,80/50/30/15,5/4/3/0,0.9/0.9/0.8/0.8,4,0,2,2,20,4,6,10,2,2,1,,,,Basic strike craft,200,10,10,10 -Dreadnought,Dreadnought,Ship,1800,1000,3,2/2/5/5,120/70/50/20,5/5/3/0,1.0/0.9/0.8/0.8,5,0,1.5,3,20,4,6,10,2,2,1,,,,Basic strike craft,200,10,10,10 -Transport Frigate,TransportFrigate,Ship,200,100,1,2,5,0,0.8,1,0,4,1,20,4,6,10,2,2,2,,,,Basic strike craft,200,10,10,10 -Transport Cruiser,TransportCruiser,Ship,300,150,1,1/2,20/5,2/0,0.9/0.8,2,0,3,1,20,4,6,10,2,2,3,,,,Basic strike craft,200,10,10,10 -Transport Hauler,TransportHauler,Ship,500,250,2,2/4,25/5,2/0,0.9/0.8,3,0,2,1,20,4,6,10,2,2,3,,,,Basic strike craft,,,, -Light Carrier,LightCarrier,Ship,200,100,1,2,5,0,0.8,2,0,4,1,20,4,6,10,2,2,3,,,,Basic strike craft,,,, -Medium Carrier,MediumCarrier,Ship,300,150,2,1/2,20/5,2/0,0.9/0.8,2,0,3,1,20,4,6,10,2,2,3,,,,Basic strike craft,,,, -Heavy Carrier,HeavyCarrier,Ship,500,250,3,2/4,25/5,2/0,0.9/0.8,3,0,2,1,20,4,6,10,2,2,3,,,,Basic strike craft,,,, -Escort Carrier,EscortCarrier,Ship,250,110,2,1/4,20/5,2/0,0.9/0.8,2,0,5,1,20,4,6,10,2,2,1,,,,Basic strike craft,200,10,10,10 -,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Fighter Squadron,FighterSquadron,Squadron,10,0,0,4,4,0,0.8,0,0.6,6,1,,0,0,,,,,,,,,,,, -Bomber Squadron,BomberSquadron,Squadron,15,0,0,4,30,3,0.4,0,0.5,5,1,,0,0,,,,,,,,,,,, -Advanced Fighter Squadron,AdvancedFighterSquadron,Squadron,20,0,0,6,9,0,0.9,0,0.7,6,1,,0,0,,,,,,,,,,,, -Advanced Bomber Squadron,AdvancedBomberSquadron,Squadron,25,0,0,6,50,4,0.6,0,0.6,5,1,,0,0,,,,,,,,,,,, -Fighter-Bomber Squadron,FighterBomberSquadron,Squadron,20,0,0,3/3,6/40,0/3,0.9/0.5,0,0.6,5,1,,0,0,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Rokurant:,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Collossus (Transport),,,,,,,,,,,,1,,,,,,,,,,,,,,,, +Strike Craft,StrikeCraft,Ship,100,30,1,1,10,1,0.9,0,0.1,5,1,1,6,10,10,2,2,1,,,,,200,10,10,10 +Frigate,Frigate,Ship,200,100,1,2/4,20/5,2/0,0.9/0.8,1,0,4,1,2,6,10,10,2,2,3,,,,,200,10,10,10 +Escort Frigate,EscortFrigate,Ship,180,100,1,1/6,20/10,2/0,0.9/0.8,1,0,5,1,3,6,10,10,2,2,3,,,,,200,10,10,10 +Cruiser,Cruiser,Ship,300,150,2,3/2/3,35/15/8,3/2/0,0.9/0.9/0.8,2,0,3,1,2,6,10,10,2,2,3,,,,,200,10,10,10 +Heavy Cruiser,HeavyCruiser,Ship,350,175,2,3/2/2,40/15/8,3/2/0,0.9/0.9/0.8,2,0,3,1,3,6,10,10,2,2,3,,,,,200,10,10,10 +Destroyer,Destroyer,Ship,500,250,2,2/3/2,60/30/10,4/3/0,0.9/0.9/0.8,3,0,2.5,2,4,6,10,10,2,2,3,,,,,200,10,10,10 +Battleship,Battleship,Ship,1000,600,3,2/2/4/4,80/50/30/15,5/4/3/0,0.9/0.9/0.8/0.8,4,0,2,2,4,6,10,10,2,2,1,,,,,200,10,10,10 +Battleship,Battleship2,Ship,1000,600,3,2/2/4/4,80/50/30/15,5/4/3/0,0.9/0.9/0.8/0.8,4,0,2,2,4,6,10,10,2,2,1,,,,,200,10,10,10 +Dreadnought,Dreadnought,Ship,1800,1000,3,2/2/5/5,120/70/50/20,5/5/3/0,1.0/0.9/0.8/0.8,5,0,1.5,3,5,6,10,10,2,2,1,,,,,200,10,10,10 +Dreadnought,Dreadnought2,Ship,1800,1000,3,2/2/5/5,120/70/50/20,5/5/3/0,1.0/0.9/0.8/0.8,5,0,1.5,3,5,6,10,10,2,2,1,,,,,200,10,10,10 +Transport Frigate,TransportFrigate,Ship,200,100,1,2,5,0,0.8,1,0,4,1,1,6,10,10,2,2,2,,,,,200,10,10,10 +Transport Cruiser,TransportCruiser,Ship,300,150,1,1/2,20/5,2/0,0.9/0.8,2,0,3,1,1,6,10,10,2,2,3,,,,,200,10,10,10 +Transport Hauler,TransportHauler,Ship,500,250,2,2/4,25/5,2/0,0.9/0.8,3,0,2,1,1,6,10,10,2,2,3,,,,,,,, +Light Carrier,LightCarrier,Ship,200,100,1,2,5,0,0.8,2,0,4,1,1,6,10,10,2,2,3,,,,,,,, +Medium Carrier,MediumCarrier,Ship,300,150,2,1/2,20/5,2/0,0.9/0.8,2,0,3,1,1,6,10,10,2,2,3,,,,,,,, +Heavy Carrier,HeavyCarrier,Ship,500,250,3,2/4,25/5,2/0,0.9/0.8,3,0,2,1,1,6,10,10,2,2,3,,,,,,,, +Escort Carrier,EscortCarrier,Ship,250,110,2,1/4,20/5,2/0,0.9/0.8,2,0,5,1,1,6,10,10,2,2,1,,,,,200,10,10,10 +Fighter Squadron,FighterSquadron,Squadron,10,0,0,4,4,0,0.8,0,0.6,6,1,0,0,10,11,3,3,2,,,,,,,, +Bomber Squadron,BomberSquadron,Squadron,15,0,0,4,30,3,0.4,0,0.5,5,1,0,0,10,12,4,4,3,,,,,,,, +Advanced Fighter Squadron,AdvancedFighterSquadron,Squadron,20,0,0,6,9,0,0.9,0,0.7,6,1,0,0,10,13,5,5,4,,,,,,,, +Advanced Bomber Squadron,AdvancedBomberSquadron,Squadron,25,0,0,6,50,4,0.6,0,0.6,5,1,0,0,10,14,6,6,5,,,,,,,, +Fighter-Bomber Squadron,FighterBomberSquadron,Squadron,20,0,0,3/3,6/40,0/3,0.9/0.5,0,0.6,5,1,0,0,10,15,7,7,6,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,, Wythler:,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Wythler Attack Squadron,,,,,,,,,,,,7,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Silverblade-Class Strike Craft,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Stormlance-Class Escort Frigate,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Goldstar-Class Destroyer,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Kyzagan-Class Heavy Destroyer,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Keshig-Class Battleship,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Wythler Attack Squadron,WythlerAttackSquadron,Squadron,25,0,0,6,50,4,0.6,0,0.6,5,1,0,0,10,,,,,,,,,,,, +Silverblade-Class Strike Craft,Silverblade-Class Strike Craft,Ship,200,140,2,1,15,1,0.9,0,0.1,6,1,4,6,10,10,2,2,1,,,,,,,, +Stormlance-Class Escort Frigate,Stormlance-Class Escort Frigate,Ship,300,240,2,1/6,25/15,2/0,0.9/0.8,1,0.1,6,1,4,6,10,10,2,2,3,,,,,,,, +Goldstar-Class Destroyer,Goldstar-Class Destroyer,Ship,500,300,3,2/3/2,65/35/15,4/3/0,0.9/0.9/0.8,3,0,4,2,4,6,10,10,2,2,3,,,,,,,, +Kyzagan-Class Heavy Destroyer,Kyzagan-Class Heavy Destroyer,Ship,750,300,3,2/3/2,65/35/15,4/3/0,0.9/0.9/0.8,3,0,3,2,4,6,10,10,2,2,3,,,,,,,, +Keshig-Class Battleship,Keshig-Class Battleship,Ship,1000,600,4,2/2/4/4,85/55/35/15,5/4/3/0,0.9/0.9/0.8/0.8,4,0,3,2,4,6,10,10,2,2,1,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Republic:,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Trailhunter-Class,,Squadron,,,,,,,,,,,,,,,,,,,,,,,,,, +Veilslicer-Class,,Ship,,,,,,,,,,,,,,,,,,,,,,,,,, +Veilscimmer-Class,,Ship,,,,,,,,,,,,,,,,,,,,,,,,,, +Voidrider-Class,,Ship,,,,,,,,,,,,,,,,,,,,,,,,,, +Voidbreaker-Class,,Ship,,,,,,,,,,,,,,,,,,,,,,,,,, +Starjumper-Class,,Ship,,,,,,,,,,,,,,,,,,,,,,,,,, +Starfarer-Class,,Ship,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,, -"Javelin, Blade, Dagger, Spear, Pilum, Halberd, ",,,,,,,,,,,,,,,,,,,,,,,,,,,, +Rokurant:,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Collossus (Transport),Collossus,Ship,800,300,2,3/2/3,35/15/8,3/2/0,0.9/0.9/0.8,4,0,1,1,4,6,,10,2,2,1,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Exan:,,,,,,,,,,,,,,,,,,,,,,,,,,,, +Deodyle,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Republic:,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Starfarer,,,,,,,,,,,,,,,,,,,,,,,,,,,, -Voidbreaker,,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file +"Javelin, Blade, Dagger, Spear, Pilum, Halberd, Stilett",,,,,,,,,,,,,,,,,,,,,,,,,,,, \ No newline at end of file diff --git a/Assets/GWConquest/Resources/Database/Units.csv b/Assets/GWConquest/Resources/Database/Units.csv index 520a35b..ccd6cf2 100644 --- a/Assets/GWConquest/Resources/Database/Units.csv +++ b/Assets/GWConquest/Resources/Database/Units.csv @@ -1,104 +1,104 @@ Full Name,Short Name,Factory Type,Unit Type,Hitpoints,Attack Count,Damage,Penetration,Accuracy,Armour,Shields,Shield Regeneration,Evasion,Movement,Equipment Slots,Inventory Slots,Morale,Defence Bonus,Abilities,Credit Cost,Recruit Cost,Ammo Cost,Fuel Cost,Build Time,Credit Upkeep,Food Upkeep,Description -Anti Tank Gun,AntiTankGun,Armour,Cannon,30,1,18,5,0.8,1,0,0,0,0.5,2,2,,,,,,,,1,,, -Artillery Gun,ArtilleryGun,Armour,Artillery,24,1,22,1,0.4,1,0,0,0,0.5,2,2,,,,,,,,1,,, -Artillery Tank,ArtilleryTank,Armour,Artillery,60,1,22,1,0.5,1,0,0,0,3,2,2,,,,,,,,1,,, -Flak Cannon,FlakCannon,Armour,Cannon,20,6,5,0.5,0.7,1,0,0,0,0.5,2,2,,,,,,,,1,,, -Flak Truck,FlakTruck,Armour,Vehicle,20,5,3,2,0.6,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Tekki Truck,TekkiTruck,City,Vehicle,20,1,6,2,0.4,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Anti Tank Truck,AntiTankTruck,Armour,Vehicle,20,1,8,3,0.7,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Flak Halftrack,FlakHalftrack,Armour,Vehicle,20,5,5,0.5,0.65,1,0,0,0,3,2,2,,,,,,,,1,,, -Heavy Anti Tank Gun,HeavyAntiTankGun,Armour,Cannon,40,1,25,6,0.8,1,0,0,0,0.3,2,2,,,,,,,,1,,, -Heavy Artillery Gun,HeavyArtilleryGun,Armour,Cannon,35,1,30,1.5,0.4,1,0,0,0,0.3,2,2,,,,,,,,1,,, -Heavy Rocket Artillery,HeavyRocketArtillery,Armour,Artillery,35,3,20,1.5,0.18,1,0,0,0,0.3,2,2,,,,,,,,1,,, -Heavy Tank,HeavyTank,Armour,Vehicle,120,1/4,15/4,4/2,0.6/0.6,4,0,0,0,2.5,2,2,,,,1600,,,,1,,, -Light Anti Tank Gun,LightAntiTankGun,Armour,Cannon,20,2,8,3,0.7,1,0,0,0,0.5,2,2,,,,,,,,1,,, -Light Artillery Gun,LightArtilleryGun,Armour,Cannon,20,2,12,1,0.45,1,0,0,0,0.5,2,2,,,,,,,,1,,, -Light Tank,LightTank,Armour,Vehicle,60,3/5,5/4,2/1,0.6/0.6,2,0,0,0,3,2,2,,,,1000,,,,1,,, -Medium Tank,MediumTank,Armour,Vehicle,100,2/5,10/4,3/1,0.6/0.6,3,0,0,0,3,2,2,,,,1200,,,,1,,, -Rocket Artillery,RocketArtillery,Armour,Artillery,10,3,14,1,0.2,0,0,0,0,0.5,2,2,,,,,,,,1,,, -Scout Vehicle,ScoutVehicle,Armour,Vehicle,40,4,4,1,0.7,1,0,0,0.3,5,2,2,,,,,,,,1,,, -Super Heavy Artillery Gun,SuperHeavyArtilleryGun,Armour,Artillery,40,1,50,2,0.3,2,0,0,0,0.2,2,2,,,,,,,,1,,, -Super Heavy Tank,SuperHeavyTank,Armour,Vehicle,150,1/3,20/4,5/2,0.6/0.6,5,0,0,0,2,2,2,,,,2400,,,,1,,, -Support Vehicle,SupportVehicle,Armour,Vehicle,20,1,1,2,0.7,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Tankhunter,Tankhunter,Armour,Vehicle,80,1,12,2,0.7,0.5,0,0,0,2,2,2,,,,1200,,,,1,,, -Transport Truck,TransportTruck,Armour,Vehicle,20,0,0,0,0,1,0,0,0,4,2,2,,,,,,,,1,,, -Conscripts,Conscripts,City,Infantry,10,1,3,0,0.4,0,0,0,0,1,2,2,4,1,,300,5,2,,30,,,"These soldiers were pressed into service by the military authorities and armed only with subpar equipment. Consequently, their morale is quite low and they should not be expected to fight very hard." -Militia,Militia,City,Infantry,10,1,3,0,0.4,0,0,0,0,1,2,2,3,1,,100,5,0,,20,,,"Ordinary citizens defending their homeland, armed with everything that could be scrounged from storage. They are only rudimentarily trained and will not pose a real threat to any sizable force." -Breacher Squad,BreacherSquad,Infantry,Infantry,35,2,4,0.3,0.5,0.5,0,0,0,0.8,2,2,,,,,,,,1,,, -Commando Unit,CommandoUnit,Infantry,Infantry,35,1/1,8/4,1/0.3,0.7/0.7,0.3,0,0,0.5,2,2,2,,,stealth II,,,,,1,,, -Demolition Squad,DemolitionSquad,Infantry,Infantry,15,1,4,0,0.5,0.3,0,0,0,1,2,2,,,,,,,,1,,, -Grav-Chute Squad,GravChuteSquad,Infantry,Infantry,15,1,4,0,0.5,0,0,0,0.2,2,2,2,,,,,,,,1,,, -Heavy Infantry,HeavyInfantry,Infantry,Infantry,35,2,2,0,0.5,0.5,0,0,0,0.8,2,2,5,1,,,,,,1,,, -Heavy Mountain Brigade,HeavyMountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0.3,0,0,0,0.8,2,2,,,,,,,,1,,, -Light Infantry,LightInfantry,Infantry,Infantry,15,1,4,0,0.5,0,0,0,0,1.2,2,2,5,1,,,,,,1,,, -Marine Squad,MarineSquad,Infantry,Infantry,20,1,4,0,0.5,0,0,0,0,1,2,2,,, stationson,,,,,1,,, -Mountain Brigade,MountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0,0,0,0,1,2,2,,,,,,,,1,,, -Pioneer Squad,PioneerSquad,Infantry,Infantry,35,1,2,0,0.5,0.5,0,0,0,1.2,2,2,6,2,,,,,,1,,, -Sniper Squad,SniperSquad,Infantry,Infantry,15,1,5,0.5,0.9,0,0,0,0.2,1.2,2,2,,,stealth I,,,,,1,,, -Standard Infantry,StandardInfantry,Infantry,Infantry,20,1,4,0,0.5,0.3,0,0,0,1,2,2,5,1,,,,,,1,,, -Tank Hunter Squad,TankHunterSquad,Infantry,Infantry,20,1/2,10/2,3/0,0.4/0.6,0.3,0,0,0,0.8,2,2,,,,,,,,1,,, -Laser Supressor Tank,LaserSupressorTank,Armour,Vehicle,60,6,4,2,0.4,2,0,0,0,3,2,2,,,,,,,,1,,, -Command Tank,CommandTank,Armour,Vehicle,90,4,4,0.3,0.5,3,0,0,0,3,2,2,,,,,,,,1,,, -Heavy Command Tank,HeavyCommandTank,Armour,Vehicle,115,4,4,0.3,0.5,4,0,0,0,2,2,2,,,,,,,,1,,, -Mortar Truck,MortarTruck,Armour,Artillery,20,2,5,1,0.3,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Medic Truck,MedicTruck,Armour,Vehicle,20,0,0,0,0,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Old Transport Tank,OldTransportTank,Armour,Vehicle,75,2,3,0.3,0.6,2.5,0,0,0,3,2,2,,,,,,,,1,,, -Old Tank,OldTank1,Armour,Vehicle,70,2/5,9/4,2.5/0.5,0.5/0.6,3,0,0,0,2,2,2,,,,,,,,1,,, -Old Tank,OldTank2,Armour,Vehicle,75,2/5,10/4,3/0.5,0.6/0.6,3,0,0,0,2,2,2,,,,,,,,1,,, -Old Tank,OldTank3,Armour,Vehicle,80,2/4,11/4,3/0.5,0.7/0.6,3,0,0,0,2,2,2,,,,,,,,1,,, -Heavy Scout Vehicle,HeavyScoutVehicle,Armour,Vehicle,45,4,5,1,0.65,1.5,0,0,0.25,4.5,2,2,,,,,,,,1,,, -Transport Vehicle,TransportVehicle,Armour,Vehicle,45,0,0,0,0,0.5,0,0,0,4,2,2,,,,,,,,1,,, -Light Transport Vehicle,LightTransportVehicle,Armour,Vehicle,40,0,0,0,0,0.45,0,0,0,4.5,2,2,,,,,,,,1,,, -Old Transport Vehicle,OldTransportVehicle,Armour,Vehicle,35,0,0,0,0,0.4,0,0,0,3.5,2,2,,,,,,,,1,,, -Medic Squad,MedicSquad,Infantry,Infantry,10,1,1,0,0.5,0,0,0,0,1,2,2,,,,,,,,1,,, -Tank Crew,TankCrew,Infantry,Infantry,10,1,1,0,0.5,0,0,0,0,1,2,2,,,,,,,,1,,, -Fast Attack Vehicle,FastAttackVehicle,Armour,Vehicle,25,3,5,1.5,0.55,1.45,0,0,0.2,4.5,2,2,,,,,,,,1,,, -Spy,Spy,Infantry,Infantry,5,0,0,0,0,0,0,0,0,1,2,2,,,,,,,,1,,, -Hazard Squad,HazardSquad,Infantry,Infantry,25,1,4,0,0.5,0.3,0,0,0,0.8,2,2,,,,,,,,1,,, -Heavy Hazard Squad,HeavyHazardSquad,Infantry,Infantry,35,2,2,0,0.5,0.5,0,0,0,0.6,2,2,,,,,,,,1,,, -Mortar Squad,MortarSquad,Infantry,Artillery,30,2,7,0.5,0.35,1,0,0,0,0.8,2,2,,,,,,,,1,,, -Heavy Flak Cannon,HeavyFlakCannon,Armour,Cannon,40,5,6,1,0.7,1,0,0,0,0.3,2,2,,,,,,,,1,,, -Light Universal Carrier,LightUniversalCarrier,Armour,Vehicle,15,0,0,0,0,0.3,0,0,0.1,,2,2,,,,,,,,,,, -Anti Material Rifle Squad,AntiMaterialRifleSquad,Infantry,Infantry,15,1,5,2,0.75,0,0,0,0.2,1.2,2,2,,,,,,,,,,, -Light Attack Fighter,LightAttackFighter,Armour,Aircraft,25,0,0,0,0,0,0,0,0.7,,2,2,,,,,,,,,,, +Anti Tank Gun,AntiTankGun,Armour,Cannon,30,1,18,5,0.8,1,0,0,0,0.5,2,2,10,,,,,,,1,,, +Artillery Gun,ArtilleryGun,Armour,Artillery,24,1,22,1,0.4,1,0,0,0,0.5,2,2,10,,,,,,,1,,, +Artillery Tank,ArtilleryTank,Armour,Artillery,60,1,22,1,0.5,1,0,0,0,3,2,2,10,,,,,,,1,,, +Flak Cannon,FlakCannon,Armour,Cannon,20,6,5,0.5,0.7,1,0,0,0,0.5,2,2,10,,,,,,,1,,, +Flak Truck,FlakTruck,Armour,Vehicle,20,5,3,2,0.6,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Tekki Truck,TekkiTruck,City,Vehicle,20,1,6,2,0.4,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Anti Tank Truck,AntiTankTruck,Armour,Vehicle,20,1,8,3,0.7,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Flak Halftrack,FlakHalftrack,Armour,Vehicle,20,5,5,0.5,0.65,1,0,0,0,3,2,2,10,,,,,,,1,,, +Heavy Anti Tank Gun,HeavyAntiTankGun,Armour,Cannon,40,1,25,6,0.8,1,0,0,0,0.3,2,2,10,,,,,,,1,,, +Heavy Artillery Gun,HeavyArtilleryGun,Armour,Cannon,35,1,30,1.5,0.4,1,0,0,0,0.3,2,2,10,,,,,,,1,,, +Heavy Rocket Artillery,HeavyRocketArtillery,Armour,Artillery,35,3,20,1.5,0.18,1,0,0,0,0.3,2,2,10,,,,,,,1,,, +Heavy Tank,HeavyTank,Armour,Vehicle,120,1/4,15/4,4/2,0.6/0.6,4,0,0,0,2.5,2,2,10,,,1600,,,,1,,, +Light Anti Tank Gun,LightAntiTankGun,Armour,Cannon,20,2,8,3,0.7,1,0,0,0,0.5,2,2,10,,,,,,,1,,, +Light Artillery Gun,LightArtilleryGun,Armour,Cannon,20,2,12,1,0.45,1,0,0,0,0.5,2,2,10,,,,,,,1,,, +Light Tank,LightTank,Armour,Vehicle,60,3/5,5/4,2/1,0.6/0.6,2,0,0,0,3,2,2,10,,,1000,,,,1,,, +Medium Tank,MediumTank,Armour,Vehicle,100,2/5,10/4,3/1,0.6/0.6,3,0,0,0,3,2,2,10,,,1200,,,,1,,, +Rocket Artillery,RocketArtillery,Armour,Artillery,10,3,14,1,0.2,0,0,0,0,0.5,2,2,10,,,,,,,1,,, +Scout Vehicle,ScoutVehicle,Armour,Vehicle,40,4,4,1,0.7,1,0,0,0.3,5,2,2,10,,,,,,,1,,, +Super Heavy Artillery Gun,SuperHeavyArtilleryGun,Armour,Artillery,40,1,50,2,0.3,2,0,0,0,0.2,2,2,10,,,,,,,1,,, +Super Heavy Tank,SuperHeavyTank,Armour,Vehicle,150,1/3,20/4,5/2,0.6/0.6,5,0,0,0,2,2,2,10,,,2400,,,,1,,, +Support Vehicle,SupportVehicle,Armour,Vehicle,20,1,1,2,0.7,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Tankhunter,Tankhunter,Armour,Vehicle,80,1,12,2,0.7,0.5,0,0,0,2,2,2,10,,,1200,,,,1,,, +Transport Truck,TransportTruck,Armour,Vehicle,20,0,0,0,0,1,0,0,0,4,2,2,10,,,,,,,1,,, +Conscripts,Conscripts,City,Infantry,10,1,3,0,0.4,0,0,0,0,1,2,2,10,1,,300,5,2,,30,,,"These soldiers were pressed into service by the military authorities and armed only with subpar equipment. Consequently, their morale is quite low and they should not be expected to fight very hard." +Militia,Militia,City,Infantry,10,1,3,0,0.4,0,0,0,0,1,2,2,10,1,,100,5,0,,20,,,"Ordinary citizens defending their homeland, armed with everything that could be scrounged from storage. They are only rudimentarily trained and will not pose a real threat to any sizable force." +Breacher Squad,BreacherSquad,Infantry,Infantry,35,2,4,0.3,0.5,0.5,0,0,0,0.8,2,2,10,,,,,,,1,,, +Commando Unit,CommandoUnit,Infantry,Infantry,35,1/1,8/4,1/0.3,0.7/0.7,0.3,0,0,0.5,2,2,2,10,,stealth II,,,,,1,,, +Demolition Squad,DemolitionSquad,Infantry,Infantry,15,1,4,0,0.5,0.3,0,0,0,1,2,2,10,,,,,,,1,,, +Grav-Chute Squad,GravChuteSquad,Infantry,Infantry,15,1,4,0,0.5,0,0,0,0.2,2,2,2,10,,,,,,,1,,, +Heavy Infantry,HeavyInfantry,Infantry,Infantry,35,2,2,0,0.5,0.5,0,0,0,0.8,2,2,10,1,,,,,,1,,, +Heavy Mountain Brigade,HeavyMountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0.3,0,0,0,0.8,2,2,10,,,,,,,1,,, +Light Infantry,LightInfantry,Infantry,Infantry,15,1,4,0,0.5,0,0,0,0,1.2,2,2,10,1,,,,,,1,,, +Marine Squad,MarineSquad,Infantry,Infantry,20,1,4,0,0.5,0,0,0,0,1,2,2,10,, stationson,,,,,1,,, +Mountain Brigade,MountainBrigade,Infantry,Infantry,35,2,2,0,0.4,0,0,0,0,1,2,2,10,,,,,,,1,,, +Pioneer Squad,PioneerSquad,Infantry,Infantry,35,1,2,0,0.5,0.5,0,0,0,1.2,2,2,10,2,,,,,,1,,, +Sniper Squad,SniperSquad,Infantry,Infantry,15,1,5,0.5,0.9,0,0,0,0.2,1.2,2,2,10,,stealth I,,,,,1,,, +Standard Infantry,StandardInfantry,Infantry,Infantry,20,1,4,0,0.5,0.3,0,0,0,1,2,2,10,1,,,,,,1,,, +Tank Hunter Squad,TankHunterSquad,Infantry,Infantry,20,1/2,10/2,3/0,0.4/0.6,0.3,0,0,0,0.8,2,2,10,,,,,,,1,,, +Laser Supressor Tank,LaserSupressorTank,Armour,Vehicle,60,6,4,2,0.4,2,0,0,0,3,2,2,10,,,,,,,1,,, +Command Tank,CommandTank,Armour,Vehicle,90,4,4,0.3,0.5,3,0,0,0,3,2,2,10,,,,,,,1,,, +Heavy Command Tank,HeavyCommandTank,Armour,Vehicle,115,4,4,0.3,0.5,4,0,0,0,2,2,2,10,,,,,,,1,,, +Mortar Truck,MortarTruck,Armour,Artillery,20,2,5,1,0.3,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Medic Truck,MedicTruck,Armour,Vehicle,20,0,0,0,0,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Old Transport Tank,OldTransportTank,Armour,Vehicle,75,2,3,0.3,0.6,2.5,0,0,0,3,2,2,10,,,,,,,1,,, +Old Tank,OldTank1,Armour,Vehicle,70,2/5,9/4,2.5/0.5,0.5/0.6,3,0,0,0,2,2,2,10,,,,,,,1,,, +Old Tank,OldTank2,Armour,Vehicle,75,2/5,10/4,3/0.5,0.6/0.6,3,0,0,0,2,2,2,10,,,,,,,1,,, +Old Tank,OldTank3,Armour,Vehicle,80,2/4,11/4,3/0.5,0.7/0.6,3,0,0,0,2,2,2,10,,,,,,,1,,, +Heavy Scout Vehicle,HeavyScoutVehicle,Armour,Vehicle,45,4,5,1,0.65,1.5,0,0,0.25,4.5,2,2,10,,,,,,,1,,, +Transport Vehicle,TransportVehicle,Armour,Vehicle,45,0,0,0,0,0.5,0,0,0,4,2,2,10,,,,,,,1,,, +Light Transport Vehicle,LightTransportVehicle,Armour,Vehicle,40,0,0,0,0,0.45,0,0,0,4.5,2,2,10,,,,,,,1,,, +Old Transport Vehicle,OldTransportVehicle,Armour,Vehicle,35,0,0,0,0,0.4,0,0,0,3.5,2,2,10,,,,,,,1,,, +Medic Squad,MedicSquad,Infantry,Infantry,10,1,1,0,0.5,0,0,0,0,1,2,2,10,,,,,,,1,,, +Tank Crew,TankCrew,Infantry,Infantry,10,1,1,0,0.5,0,0,0,0,1,2,2,10,,,,,,,1,,, +Fast Attack Vehicle,FastAttackVehicle,Armour,Vehicle,25,3,5,1.5,0.55,1.45,0,0,0.2,4.5,2,2,10,,,,,,,1,,, +Spy,Spy,Infantry,Infantry,5,0,0,0,0,0,0,0,0,1,2,2,10,,,,,,,1,,, +Hazard Squad,HazardSquad,Infantry,Infantry,25,1,4,0,0.5,0.3,0,0,0,0.8,2,2,10,,,,,,,1,,, +Heavy Hazard Squad,HeavyHazardSquad,Infantry,Infantry,35,2,2,0,0.5,0.5,0,0,0,0.6,2,2,10,,,,,,,1,,, +Mortar Squad,MortarSquad,Infantry,Artillery,30,2,7,0.5,0.35,1,0,0,0,0.8,2,2,10,,,,,,,1,,, +Heavy Flak Cannon,HeavyFlakCannon,Armour,Cannon,40,5,6,1,0.7,1,0,0,0,0.3,2,2,10,,,,,,,1,,, +Light Universal Carrier,LightUniversalCarrier,Armour,Vehicle,15,0,0,0,0,0.3,0,0,0.1,,2,2,10,,,,,,,,,, +Anti Material Rifle Squad,AntiMaterialRifleSquad,Infantry,Infantry,15,1,5,2,0.75,0,0,0,0.2,1.2,2,2,10,,,,,,,,,, +Light Attack Fighter,LightAttackFighter,Armour,Aircraft,25,0,0,0,0,0,0,0,0.7,,2,2,10,,,,,,,,,, Command Squad,OfficerSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, Rokurant,,,,,,,,,,,,,,,,,,,,,,,,,, -Heavy Artillery Tank,RokurantHArtilleryTank,Armour,Artillery,90,1,26,1.5,0.5,3,0,0,0,2,2,2,,,,,,,,,,, -Siegebreaker Tank,RokurantSiegebreakerTank,Armour,Vehicle,95,1,20,3,0.6,3,0,0,0,2,2,2,,,,,,,,,,, -Bulk Transporter,RokurantTransporter,Armour,Vehicle,100,2,2,0,0.6,3,0,0,0,1,2,2,,,,,,,,,,, -Heavy Rocket Vehicle,RokurantRocketVehicle,Armour,Vehicle,60,3,14,1,0.2,0,0,0,0,0.5,2,2,5,,,,,,,,,, -Rokurant Infantry,RokurantInfantry,Infantry,Infantry,35,2,2,0,0.5,0.5,0,0,0,0.8,2,2,5,1,,,,,,,,, -Heavy Infantry,RokurantHInfantry,Infantry,Infantry,40,2,2,0,0.5,0.5,0,0,0,0.8,2,2,5,1,,,,,,,,, -Storm Pioneers,RokurantStormPioneers,Infantry,Infantry,45,1,2,0,0.5,0.55,0,0,0,1.5,2,2,6,2,,,,,,,,, -Transport Truck,RokurantTransportTruck,Armour,Vehicle,50,0,0,0,0,0.5,0,0,0,4,2,2,,,,,,,,,,, +Heavy Artillery Tank,RokurantHArtilleryTank,Armour,Artillery,90,1,26,1.5,0.5,3,0,0,0,2,2,2,10,,,,,,,,,, +Siegebreaker Tank,RokurantSiegebreakerTank,Armour,Vehicle,95,1,20,3,0.6,3,0,0,0,2,2,2,10,,,,,,,,,, +Bulk Transporter,RokurantTransporter,Armour,Vehicle,100,2,2,0,0.6,3,0,0,0,1,2,2,10,,,,,,,,,, +Heavy Rocket Vehicle,RokurantRocketVehicle,Armour,Vehicle,60,3,14,1,0.2,0,0,0,0,0.5,2,2,10,,,,,,,,,, +Rokurant Infantry,RokurantInfantry,Infantry,Infantry,35,2,2,0,0.5,0.5,0,0,0,0.8,2,2,10,1,,,,,,,,, +Heavy Infantry,RokurantHInfantry,Infantry,Infantry,40,2,2,0,0.5,0.5,0,0,0,0.8,2,2,10,1,,,,,,,,, +Storm Pioneers,RokurantStormPioneers,Infantry,Infantry,45,1,2,0,0.5,0.55,0,0,0,1.5,2,2,10,2,,,,,,,,, +Transport Truck,RokurantTransportTruck,Armour,Vehicle,50,0,0,0,0,0.5,0,0,0,4,2,2,10,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, Voteine,,,,,,,,,,,,,,,,,,,,,,,,,, -Fast Assault Tank,VoteineFastAssaultTank,Armour,Vehicle,40,1/2,8/3,3/1,0.75/0.8,1,1,1,0.35,5,2,2,,,,,,,,,,, -Hover Tank,VoteineHoverTank,Armour,Vehicle,45,3,5,1.5,0.8,2,1,1,0.15,5,2,2,,,,,,,,,,, -Light Hover Tank,VoteineLHoverTank,Armour,Vehicle,40,3,5,1.5,0.75,1.45,0,1,0.3,5,2,2,,,,,,,,,,, +Fast Assault Tank,VoteineFastAssaultTank,Armour,Vehicle,40,1/2,8/3,3/1,0.75/0.8,1,1,1,0.35,5,2,2,10,,,,,,,,,, +Hover Tank,VoteineHoverTank,Armour,Vehicle,45,3,5,1.5,0.8,2,1,1,0.15,5,2,2,10,,,,,,,,,, +Light Hover Tank,VoteineLHoverTank,Armour,Vehicle,40,3,5,1.5,0.75,1.45,0,1,0.3,5,2,2,10,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, Whythler,,,,,,,,,,,,,,,,,,,,,,,,,, -Jet-Bike Squad,WythlerJetBikeSquadHusain,Armour,Vehicle,60,4,4,2,0.8,1,2,1,0.6,6,2,2,,,,,,,,,,, -Jet-Bike Squad,WythlerJetBikeSquadWinhali,Armour,Vehicle,60,2/4,4/3,2/0.5,0.8/0.7,1,2,1,0.65,6,2,2,,,,,,,,,,, -Jet-Bike Squad,WythlerJetBikeSquadLenphra,Armour,Vehicle,60,2/1,4/10,2/4,0.8/0.7,1,2,1,0.55,6,2,2,,,,,,,,,,, -Light Attack Speeder,WythlerLAttackSpeeder,Armour,Vehicle,70,3,4,4,0.85,2,2,2,0.3,5,2,,,,,,,,,,,, -Attack Speeder,WythlerAttackSpeeder,Armour,Vehicle,90,1/3,12/4,4/2,0.85/0.7,2,2,2,0.35,4,2,,,,,,,,,,,, -Heavy Attack Speeder,WythlerHAttackSpeeder,Armour,Vehicle,100,1/4,18/4,5/2,0.85/0.7,2.5,3,2,0.2,4,2,,,,,,,,,,,, -Heavy Transport Speeder,WythlerHTransportSpeeder,Armour,Vehicle,90,3,4,4,0.85,3,3,2,0.2,4,2,,,,,,,,,,,, -Transport Vehicle,WythlerTransportVehicle,Armour,Vehicle,75,2,1,1,0.7,0.75,0,0,0,2,2,2,,,,,,,,,,, -Tankhunter,WythlerTankhunter,Armour,Vehicle,60,1,11,2,0.65,0.5,0,0,0,2,2,2,,,,1200,,,,,,, -Wythler Squad,WythlerSquad,Infantry,Infantry,45,3/4,4/3,2/0.5,0.9/0.8,1,2,1,0,,,,,,,,,,,,,, -Power Armour Squad,PowerArmourSquad,Infantry,Infantry,45,3/4,4/3,2/0.5,0.9/0.8,1,2,1,0,0.8,2,2,5,1,,,,,,,,, -Rabble,Rabble,City,Infantry,15,1,4,0,0.5,0,0,0,0,1.2,2,2,5,1,,,,,,,,, -Wyth Palace Guard,WythPalaceGuard,Infantry,Infantry,40,2,3,0,0.8,1,1,2.5,0,0.8,2,2,5,1,,,,,,,,, -Assassins,Assassins,Infantry,Infantry,5,1,10,0,0.3,0.3,1,2.5,0.2,2,,,,,stealth I,,,,,,,, -Disciplinary Master,WythlerDisciplinaryMaster,Infantry,Infantry,25,1,4,0,0.5,0.3,0,0,0,1,,,,,,,,,,,,, -Axa Axa,AxaAxa,Infantry,Vehicle,45,4,1,0,0.7,0.5,1,2.5,0,1,,,,,,,,,,,,, -Charnal Guard,CharnalGuard,Infantry,Infantry,60,2,2,0,0.9,0.3,0,0,0,1,,,,,,,,,,,,, +Jet-Bike Squad,WythlerJetBikeSquadHusain,Armour,Vehicle,60,4,4,2,0.8,1,2,1,0.6,6,2,2,10,,,,,,,,,, +Jet-Bike Squad,WythlerJetBikeSquadWinhali,Armour,Vehicle,60,2/4,4/3,2/0.5,0.8/0.7,1,2,1,0.65,6,2,2,10,,,,,,,,,, +Jet-Bike Squad,WythlerJetBikeSquadLenphra,Armour,Vehicle,60,2/1,4/10,2/4,0.8/0.7,1,2,1,0.55,6,2,2,10,,,,,,,,,, +Light Attack Speeder,WythlerLAttackSpeeder,Armour,Vehicle,70,3,4,4,0.85,2,2,2,0.3,5,2,,10,,,,,,,,,, +Attack Speeder,WythlerAttackSpeeder,Armour,Vehicle,90,1/3,12/4,4/2,0.85/0.7,2,2,2,0.35,4,2,,10,,,,,,,,,, +Heavy Attack Speeder,WythlerHAttackSpeeder,Armour,Vehicle,100,1/4,18/4,5/2,0.85/0.7,2.5,3,2,0.2,4,2,,10,,,,,,,,,, +Heavy Transport Speeder,WythlerHTransportSpeeder,Armour,Vehicle,90,3,4,4,0.85,3,3,2,0.2,4,2,,10,,,,,,,,,, +Transport Vehicle,WythlerTransportVehicle,Armour,Vehicle,75,2,1,1,0.7,0.75,0,0,0,2,2,2,10,,,,,,,,,, +Tankhunter,WythlerTankhunter,Armour,Vehicle,60,1,11,2,0.65,0.5,0,0,0,2,2,2,10,,,1200,,,,,,, +Wythler Squad,WythlerSquad,Infantry,Infantry,45,3/4,4/3,2/0.5,0.9/0.8,1,2,1,0,,,,10,,,,,,,,,, +Power Armour Squad,PowerArmourSquad,Infantry,Infantry,45,3/4,4/3,2/0.5,0.9/0.8,1,2,1,0,0.8,2,2,10,1,,,,,,,,, +Rabble,Rabble,City,Infantry,15,1,4,0,0.5,0,0,0,0,1.2,2,2,10,1,,,,,,,,, +Wyth Palace Guard,WythPalaceGuard,Infantry,Infantry,40,2,3,0,0.8,1,1,2.5,0,0.8,2,2,10,1,,,,,,,,, +Assassins,Assassins,Infantry,Infantry,5,1,10,0,0.3,0.3,1,2.5,0.2,2,,,10,,stealth I,,,,,,,, +Disciplinary Master,WythlerDisciplinaryMaster,Infantry,Infantry,25,1,4,0,0.5,0.3,0,0,0,1,,,10,,,,,,,,,, +Axa Axa,AxaAxa,Infantry,Vehicle,45,4,1,0,0.7,0.5,1,2.5,0,1,,,10,,,,,,,,,, +Charnal Guard,CharnalGuard,Infantry,Infantry,60,2,2,0,0.9,0.3,0,0,0,1,,,10,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, Republic Remnants,,,,,,,,,,,,,,,,,,,,,,,,,, -Republic Wardens,RepublicWardens,Infantry,Infantry,40,3,3,0,0.8,1,0,0,0,0.8,2,2,5,1,,,,,,,,, +Republic Wardens,RepublicWardens,Infantry,Infantry,40,3,3,0,0.8,1,0,0,0,0.8,2,2,10,1,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, Elysia,,,,,,,,,,,,,,,,,,,,,,,,,, Elysian Light Commando Vehicle,ElysiaLCommandoVehicle,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,, @@ -121,8 +121,8 @@ Cryo-Clone Squad,ZamiCryoCloneSquad,Infantry,Infantry,,,,,,,,,,,,,,,,,,,,,,, Zami War Tripod,ZamiWarTripod,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,, Zami War Strider,ZamiWarStrider,Armour,Vehicle,,,,,,,,,,,,,,,,,,,,,,, Conscripted Miner Slaves,ConscriptedMinerSlaves,City,Infantry,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,, -,,,,,,,,,,,,,,,,,,,,,,,,,, +Satyr-9 Varanguard,Satyr-9Varanguard,City,Infantry,,,,,,,,,,,,,,,,,,,,,,, +Immortals?,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,, Stuntreen,,,,,,,,,,,,,,,,,,,,,,,,,, Headtaker Commando,HeadtakerCommando,City,Infantry,,,,,,,,,,,,,,,,,,,,,,, diff --git a/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png index 5a7bd20..284ae39 100644 Binary files a/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png and b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png differ diff --git a/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png.meta b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png.meta index b2f4924..036eebf 100644 --- a/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png.meta +++ b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattai.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 916a4eadb9ccb9c4d86a887cca4accb3 +guid: 8ee598934964022409eb84bf5424c604 TextureImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattaiOLD.png b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattaiOLD.png new file mode 100644 index 0000000..5a7bd20 Binary files /dev/null and b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattaiOLD.png differ diff --git a/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattaiOLD.png.meta b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattaiOLD.png.meta new file mode 100644 index 0000000..b2f4924 --- /dev/null +++ b/Assets/GWConquest/Resources/UnitIcons/HeroMimeyCattaiOLD.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: 916a4eadb9ccb9c4d86a887cca4accb3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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: 2 + 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 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GWConquest/Scenes/GalaxyMap.unity b/Assets/GWConquest/Scenes/GalaxyMap.unity index 9890678..d98574d 100644 --- a/Assets/GWConquest/Scenes/GalaxyMap.unity +++ b/Assets/GWConquest/Scenes/GalaxyMap.unity @@ -4003,8 +4003,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -32.1, y: 0} - m_SizeDelta: {x: -73.211845, y: -8} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -8, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &54581870 MonoBehaviour: @@ -4025,7 +4025,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: f2fa446b698637a48bfe48e7cc582cbb, type: 3} m_Type: 3 m_PreserveAspect: 0 m_FillCenter: 1 @@ -115907,8 +115907,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 59.32, y: 0} - m_SizeDelta: {x: -127.641594, y: -8} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -8.000004, y: -8} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1861816392 MonoBehaviour: @@ -115929,14 +115929,14 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: f2fa446b698637a48bfe48e7cc582cbb, type: 3} m_Type: 3 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 0 - m_FillAmount: 0.73333335 + m_FillAmount: 0.689 m_FillClockwise: 1 - m_FillOrigin: 0 + m_FillOrigin: 1 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 2.8 --- !u!222 &1861816393 diff --git a/Assets/GWConquest/Scripts/Battle.cs b/Assets/GWConquest/Scripts/Battle.cs index 4ba5bd0..a36e546 100644 --- a/Assets/GWConquest/Scripts/Battle.cs +++ b/Assets/GWConquest/Scripts/Battle.cs @@ -116,6 +116,8 @@ namespace GWConquest { FormationList.Add(f.entity); + f.OnAddedToBattle(this); + OnFormationsChanged(); } diff --git a/Assets/GWConquest/Scripts/BattleFlank.cs b/Assets/GWConquest/Scripts/BattleFlank.cs index eeaeb2a..fca993e 100644 --- a/Assets/GWConquest/Scripts/BattleFlank.cs +++ b/Assets/GWConquest/Scripts/BattleFlank.cs @@ -84,6 +84,18 @@ namespace GWConquest { else return -1; } + /*public static Vector2Int GetCoordsFromIndex(int index) + { + int row = GetRowFromIndex(index); + int column = index % SlotsPerRow; + return new Vector2Int(column, row); + } + + public static int GetIndexFromCoords(Vector2Int coords) + { + return coords.y * SlotsPerRow + coords.x; + }*/ + public void RemoveUnit(Unit unit) { int index = GetUnitIndex(unit); diff --git a/Assets/GWConquest/Scripts/District.cs b/Assets/GWConquest/Scripts/District.cs index 1c60f04..8b38613 100644 --- a/Assets/GWConquest/Scripts/District.cs +++ b/Assets/GWConquest/Scripts/District.cs @@ -66,7 +66,7 @@ namespace GWConquest Inventory = new Inventory(State, "Inventory"); Inventory.StorageCapacity = StorageCapacity; - BoltLog.Info("Setting storage capacity to {0}", StorageCapacity); + //BoltLog.Info("Setting storage capacity to {0}", StorageCapacity); AllDistricts.Add(this); } diff --git a/Assets/GWConquest/Scripts/Formation.cs b/Assets/GWConquest/Scripts/Formation.cs index 4cecbd8..c65d693 100644 --- a/Assets/GWConquest/Scripts/Formation.cs +++ b/Assets/GWConquest/Scripts/Formation.cs @@ -137,6 +137,17 @@ namespace GWConquest set => State.ParentFormation = value?.entity; } + public const float MoraleCap = 27 * 3 * 100; + + public float Morale { + get => State.Morale; + set => State.Morale = value; + } + public float StartingMorale { + get => State.StartingMorale; + set => State.StartingMorale = value; + } + public GameObject fleetIcon; @@ -455,7 +466,6 @@ namespace GWConquest State.IsInTransit = false; CoveredDistance = 0; - FormationNumber = UnityEngine.Random.Range(1, 100); } @@ -497,6 +507,7 @@ namespace GWConquest { ConstructName(); } + } OnUnitsChanged?.Invoke(); } @@ -639,7 +650,18 @@ namespace GWConquest return string.Format("Formation {0} [{1}]", FormationName, Player); } + public void TakeMoraleDamage(float moraleDamage) + { + BoltLog.Info("Formation {0} took {1} points of morale damage", this, moraleDamage); + Morale -= moraleDamage; + } + public void OnAddedToBattle(Battle battle) + { + StartingMorale = Mathf.Min(Units.Sum(u => u.Class.Morale), MoraleCap); + Morale = StartingMorale; + BoltLog.Info("Morale calculated to {0} for formation {1}", Morale, this); + } } diff --git a/Assets/GWConquest/Scripts/GameManager.cs b/Assets/GWConquest/Scripts/GameManager.cs index cac8b54..bbacb08 100644 --- a/Assets/GWConquest/Scripts/GameManager.cs +++ b/Assets/GWConquest/Scripts/GameManager.cs @@ -35,6 +35,8 @@ namespace GWConquest public bool SpawnAIPlayer; + public bool IsLoaded { get; private set; } = false; + private static GameManager _instance; public static GameManager Instance { @@ -89,6 +91,8 @@ namespace GWConquest } } + + IsLoaded = true; } public void FixedUpdate() { diff --git a/Assets/GWConquest/Scripts/UI/BattleUI.cs b/Assets/GWConquest/Scripts/UI/BattleUI.cs index 49061d6..29d8f44 100644 --- a/Assets/GWConquest/Scripts/UI/BattleUI.cs +++ b/Assets/GWConquest/Scripts/UI/BattleUI.cs @@ -257,11 +257,21 @@ namespace GWConquest { Player currentPlayer = Player.CurrentPlayer; Player enemyPlayer = strengths.Where(s => s.Player != Player.CurrentPlayer).ArgMax(s => s.Strength).Player; + var playerMoraleBarImage = PlayerMoraleBar.GetComponent(); + var enemyMoraleBarImage = EnemyMoraleBar.GetComponent(); + + float playerMorale = formations.Where(f => f.Player == Player.CurrentPlayer).Sum(f => f.Morale); + float playerMoraleMax = formations.Where(f => f.Player == Player.CurrentPlayer).Sum(f => f.StartingMorale); + playerMoraleBarImage.fillAmount = playerMorale/playerMoraleMax; + + float enemyMorale = formations.Where(f => f.Player != Player.CurrentPlayer).Sum(f => f.Morale); + float enemyMoraleMax = formations.Where(f => f.Player != Player.CurrentPlayer).Sum(f => f.StartingMorale); + enemyMoraleBarImage.fillAmount = enemyMorale/enemyMoraleMax; + if(currentPlayer != null) { var playerStrengthBarImage = PlayerStrengthBar.GetComponent(); playerStrengthBarImage.color = Util.UpdateColorRGB(playerStrengthBarImage.color, currentPlayer.Faction.FactionColor); - var playerMoraleBarImage = PlayerMoraleBar.GetComponent(); playerMoraleBarImage.color = Util.UpdateColorRGB(playerMoraleBarImage.color, currentPlayer.Faction.FactionColor); PlayerFactionLogo.sprite = currentPlayer.Faction.FactionLogo; PlayerFactionText.text = currentPlayer.Faction.FactionName; @@ -271,8 +281,7 @@ namespace GWConquest { if(enemyPlayer != null) { var enemyStrengthBarImage = EnemyStrengthBar.GetComponent(); - enemyStrengthBarImage.color = Util.UpdateColorRGB(enemyStrengthBarImage.color, enemyPlayer.Faction.FactionColor); - var enemyMoraleBarImage = EnemyMoraleBar.GetComponent(); + enemyStrengthBarImage.color = Util.UpdateColorRGB(enemyStrengthBarImage.color, enemyPlayer.Faction.FactionColor); enemyMoraleBarImage.color = Util.UpdateColorRGB(enemyStrengthBarImage.color, enemyPlayer.Faction.FactionColor); EnemyFactionLogo.sprite = enemyPlayer.Faction.FactionLogo; EnemyFactionText.text = enemyPlayer.Faction.FactionName; diff --git a/Assets/GWConquest/Scripts/UI/BattleUnitIcon.cs b/Assets/GWConquest/Scripts/UI/BattleUnitIcon.cs index 2ae6caa..7a039b0 100644 --- a/Assets/GWConquest/Scripts/UI/BattleUnitIcon.cs +++ b/Assets/GWConquest/Scripts/UI/BattleUnitIcon.cs @@ -103,10 +103,13 @@ namespace GWConquest { HealthBarGO.SetActive(false); } + GetComponent().SetBool("StatusIcon", Unit.IsDemoralized); + } else { HealthBarGO.SetActive(false); IconImage.enabled = false; + GetComponent().SetBool("StatusIcon", false); } if(Unit != null && Unit.ActionCooldown > 0) @@ -146,6 +149,12 @@ namespace GWConquest { } + public void PlayDemoralizedAnim() + { + GetComponent().SetTrigger("Demoralized"); + SoundEffects.Instance.PlayEffect("Death"); + } + public void PlayDeathAnim() { bool explosion = Unit.Class.UnitType != UnitType.Infantry; @@ -219,7 +228,7 @@ namespace GWConquest { public override bool CanDrag() { - return IsDraggable && Unit != null; + return IsDraggable && Unit != null && !Unit.IsDead && !Unit.IsDemoralized; } public void FlipIcon() diff --git a/Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs b/Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs index 70342f4..c44358c 100644 --- a/Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs +++ b/Assets/GWConquest/Scripts/UI/UnitInfoPanel.cs @@ -12,6 +12,9 @@ namespace GWConquest public Image HealthBar; public Text HealthBarText; + public Image MoraleBar; + public Text MoraleBarText; + public Text DescriptionText; public GameObject UnitObjects; @@ -149,6 +152,11 @@ namespace GWConquest HealthBar.fillAmount = (float) CurrentUnit.Hitpoints / CurrentUnit.Class.Hitpoints; HealthBarText.text = CurrentUnit.Hitpoints.ToString() + "/" + CurrentUnit.Class.Hitpoints.ToString(); + float moralePct = (float) CurrentUnit.Morale / CurrentUnit.Class.Morale; + MoraleBar.fillAmount = moralePct; + MoraleBarText.text = (moralePct*100).ToString() + "%"; + MoraleBar.color = Util.UpdateColorRGB(MoraleBar.color, CurrentUnit.Player.Color); + if(CurrentUnit.Class.IsHero) { UpdateAbilities(); @@ -170,6 +178,13 @@ namespace GWConquest HealthBar.fillAmount = (float) totalHitpoints / maxHitpoints; HealthBarText.text = totalHitpoints.ToString() + "/" + maxHitpoints.ToString(); + float maxMorale = CurrentFormation.Units.Sum(u => u.Class.Morale); + float moralePct = Mathf.Min(CurrentFormation.Morale/maxMorale, 1f); + + MoraleBar.fillAmount = moralePct; + MoraleBarText.text = (moralePct*100).ToString() + "%"; + MoraleBar.color = Util.UpdateColorRGB(MoraleBar.color, CurrentFormation.Player.Color); + var hero = CurrentFormation.HeroUnit; if(hero != null) { diff --git a/Assets/GWConquest/Scripts/Unit.cs b/Assets/GWConquest/Scripts/Unit.cs index 757fca6..e453a48 100644 --- a/Assets/GWConquest/Scripts/Unit.cs +++ b/Assets/GWConquest/Scripts/Unit.cs @@ -23,6 +23,7 @@ namespace GWConquest Inventory.StorageCapacity = value.InventorySlots; Equipment.StorageCapacity = value.EquipmentSlots; + } } } @@ -59,6 +60,16 @@ namespace GWConquest get => Hitpoints <= 0; } + public bool IsDemoralized { + get => Morale <= 0; + } + + + public float Morale { + get => state.Morale; + set => state.Morale = value; + } + public Player Player { get => Formation.Player; } @@ -119,6 +130,8 @@ namespace GWConquest [System.NonSerialized] public bool DeathAnimPlayed = false; + [System.NonSerialized] + public bool DemoralizedAnimPlayed = false; public bool IconEnabled { get => CurrentIcon != null && CurrentIcon.isActiveAndEnabled && CurrentIcon.Unit == this; @@ -150,6 +163,7 @@ namespace GWConquest Formation.OnUnitAdded(this); } }); + } public static Unit SpawnUnit(Zone zone, UnitClass uc, Player player) @@ -173,6 +187,7 @@ namespace GWConquest unit.gameObject.name = uc.ShortName + "_" + unitEntity.NetworkId.PackedValue.ToString(); unit.state.Hitpoints = uc.Hitpoints; unit.state.Shields = uc.Shields; + unit.state.Morale = uc.Morale; unit.Formation = playerFormation; playerFormation.UnitEntities.Add(unitEntity); @@ -181,11 +196,30 @@ namespace GWConquest public void TakeDamage(int damage, Unit attacker, bool isGlancingHit=false, WeaponType weaponType=WeaponType.Light) { - state.Hitpoints -= damage; + Hitpoints -= damage; + + float moraleDamage = (float) damage / Class.Hitpoints * MoraleDamageFactor * Class.Morale; + TakeMoraleDamage(moraleDamage); + + float surroundingMoraleDamage = Hitpoints <= 0 ? 3 : moraleDamage * SurroundingMoraleDamageFactor; + + if(CurrentFlank != null) + { + foreach(Unit u in CurrentFlank.Units) + { + if(u != this) + { + u.TakeMoraleDamage(surroundingMoraleDamage); + } + } + } + + Formation.TakeMoraleDamage(Hitpoints <= 0 ? Class.Morale : moraleDamage * FormationMoraleDamageFactor); var evnt = UnitDamageAnimEvent.Create(entity); evnt.Attacker = attacker.entity; evnt.IsDead = state.Hitpoints <= 0; + evnt.IsDemoralized = IsDemoralized; evnt.GlancingHit = isGlancingHit; evnt.WeaponType = (int) weaponType; evnt.Send(); @@ -208,6 +242,11 @@ namespace GWConquest { CurrentIcon.PlayDeathAnim(); } + else if(evnt.IsDemoralized && !DemoralizedAnimPlayed) + { + CurrentIcon.PlayDemoralizedAnim(); + DemoralizedAnimPlayed = true; + } else if(evnt.GlancingHit) { CurrentIcon.PlayGlancingHitAnim(); @@ -264,7 +303,7 @@ namespace GWConquest return BattleState == BattleUnitState.InReserve || BattleState == BattleUnitState.Arriving || BattleState == BattleUnitState.Departing || - BattleState == BattleUnitState.MovingToReserve || + //BattleState == BattleUnitState.MovingToReserve || BattleState == BattleUnitState.StartingShelling || BattleState == BattleUnitState.StoppingShelling || BattleState == BattleUnitState.Shelling; @@ -284,7 +323,31 @@ namespace GWConquest SetActionCooldown(GameManager.Instance.ArtilleryCooldown / movement); } + public float MoraleDamageFactor { + get => 0.8f; + } + + public const float SurroundingMoraleDamageFactor = 0.1f; + + public const float FormationMoraleDamageFactor = 0.5f; + public void TakeMoraleDamage(float moraleDamage) + { + if(Morale > 0 && !IsDead) + { + BoltLog.Info("Unit {0} took {1} points of morale damage", this, moraleDamage); + Morale -= moraleDamage; + if(Morale <= 0) + { + Morale = 0; + + if(CurrentFlank != null && CurrentBattle != null) + { + CurrentBattle.MoveUnitToReserve(this); + } + } + } + } diff --git a/Assets/GWConquest/Scripts/UnitClass.cs b/Assets/GWConquest/Scripts/UnitClass.cs index f560f16..d2f00af 100644 --- a/Assets/GWConquest/Scripts/UnitClass.cs +++ b/Assets/GWConquest/Scripts/UnitClass.cs @@ -78,6 +78,8 @@ namespace GWConquest unitClass.Shields = data.GetInt("Shields"); unitClass.ShieldRegeneration = data.GetFloat("Shield Regeneration"); + unitClass.Morale = data.GetFloat("Morale"); + unitClass.EquipmentSlots = data.GetInt("Equipment Slots"); unitClass.InventorySlots = data.GetInt("Inventory Slots"); @@ -296,6 +298,7 @@ namespace GWConquest public float Movement; public int Shields; public float ShieldRegeneration; + public float Morale; public int AttackRange; diff --git a/Assets/GWConquest/Scripts/Zone.cs b/Assets/GWConquest/Scripts/Zone.cs index d4aed9a..6d921c8 100644 --- a/Assets/GWConquest/Scripts/Zone.cs +++ b/Assets/GWConquest/Scripts/Zone.cs @@ -95,22 +95,37 @@ namespace GWConquest } else { - if (ShouldStartBattle()) + if(GameManager.Instance.IsLoaded) { - var battleEntity = BoltNetwork.Instantiate(BoltPrefabs.Battle); - CurrentBattle = battleEntity.GetComponent(); - CurrentBattle.Zone = this; - foreach (Formation f in Formations) - { - CurrentBattle.AddFormation(f); - } - CurrentBattle.Init(); + CheckBattleStart(true); } } } } + public void OnSceneLoadLocalDone() + { + CheckBattleStart(false); + } + + public void CheckBattleStart(bool ingame) + { + if (ShouldStartBattle()) + { + var battleEntity = BoltNetwork.Instantiate(BoltPrefabs.Battle); + CurrentBattle = battleEntity.GetComponent(); + CurrentBattle.Zone = this; + foreach (Formation f in Formations) + { + CurrentBattle.AddFormation(f); + } + CurrentBattle.Init(); + + BoltLog.Info("Starting battle, ingame: {0}", ingame); + } + } + public bool ShouldStartBattle() { return Formations.Select((f, i) => f.Player).Distinct().Count() > 1; diff --git a/Assets/GWConquest/Textures/Effects/Explosion 04/BattleUnitIcon.controller b/Assets/GWConquest/Textures/Effects/Explosion 04/BattleUnitIcon.controller index b76fad5..e859f78 100644 --- a/Assets/GWConquest/Textures/Effects/Explosion 04/BattleUnitIcon.controller +++ b/Assets/GWConquest/Textures/Effects/Explosion 04/BattleUnitIcon.controller @@ -154,7 +154,7 @@ AnimatorStateMachine: m_ChildStates: - serializedVersion: 1 m_State: {fileID: -5192770744076417575} - m_Position: {x: 340, y: 30, z: 0} + m_Position: {x: 250, y: 0, z: 0} - serializedVersion: 1 m_State: {fileID: -3473988378507739373} m_Position: {x: 340, y: 130, z: 0} @@ -163,13 +163,16 @@ AnimatorStateMachine: m_Position: {x: 340, y: 220, z: 0} - serializedVersion: 1 m_State: {fileID: -3789529148781153205} - m_Position: {x: 590, y: 130, z: 0} + m_Position: {x: 630, y: 40, z: 0} - serializedVersion: 1 m_State: {fileID: 7596450868692253471} m_Position: {x: 570, y: 210, z: 0} - serializedVersion: 1 m_State: {fileID: -6547434733399068819} - m_Position: {x: 570, y: 60, z: 0} + m_Position: {x: 570, y: 120, z: 0} + - serializedVersion: 1 + m_State: {fileID: 1475231742661112934} + m_Position: {x: 470, y: -20, z: 0} m_ChildStateMachines: [] m_AnyStateTransitions: [] m_EntryTransitions: [] @@ -406,6 +409,7 @@ AnimatorState: - {fileID: -5559562213269045717} - {fileID: -4496090701997934558} - {fileID: 1309623086891913281} + - {fileID: 4691944083144160486} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -449,6 +453,33 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 0 +--- !u!1102 &-2898300812892577005 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: BattleUnitIconStatus + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: -1320500495888940383} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 629bfb7288013594a916b0ddad2119ed, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1101 &-2524210890384341989 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -511,6 +542,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 0 +--- !u!1107 &-2293786423447279478 +AnimatorStateMachine: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: StatusIcon + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: -2898300812892577005} + m_Position: {x: 340, y: 50, z: 0} + - serializedVersion: 1 + m_State: {fileID: -2021504498809275641} + m_Position: {x: 340, y: 150, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -2021504498809275641} --- !u!1102 &-2154268057691764267 AnimatorState: serializedVersion: 5 @@ -538,6 +594,33 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1102 &-2021504498809275641 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: idle + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 10330679170833919} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1101 &-1758359728954625768 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -560,6 +643,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &-1320500495888940383 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: StatusIcon + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -2021504498809275641} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.2 + m_TransitionOffset: 0 + m_ExitTime: 0.9166667 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1102 &-1297342111170367610 AnimatorState: serializedVersion: 5 @@ -670,68 +778,92 @@ AnimatorController: m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: Highlight m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: Selected m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: Cooldown m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: Death m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: Explosion m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: DeathCooldown m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: GlancingHit m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: ExplosionDeath m_Type: 9 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: IsFlank m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} - m_Name: InRange m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 m_DefaultBool: 0 - m_Controller: {fileID: 9100000} + m_Controller: {fileID: 0} + - m_Name: StatusIcon + m_Type: 4 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} + - m_Name: Demoralized + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 0} m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -6711024960139271627} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 1 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} - serializedVersion: 5 m_Name: Highlight m_StateMachine: {fileID: 5795682472395110543} @@ -740,13 +872,13 @@ AnimatorController: m_Behaviours: [] m_BlendingMode: 0 m_SyncedLayerIndex: -1 - m_DefaultWeight: 0 + m_DefaultWeight: 1 m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} - serializedVersion: 5 - m_Name: Base Layer - m_StateMachine: {fileID: -6711024960139271627} + m_Name: StatusIcon + m_StateMachine: {fileID: -2293786423447279478} m_Mask: {fileID: 0} m_Motions: [] m_Behaviours: [] @@ -756,6 +888,31 @@ AnimatorController: m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} +--- !u!1101 &10330679170833919 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: StatusIcon + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -2898300812892577005} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.2 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &1063982034642607716 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -821,6 +978,33 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1102 &1475231742661112934 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UnitDemoralized + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: + - {fileID: 8649601776160995684} + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: a1d334971cd1e24499e92d7da2584c6d, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: --- !u!1102 &1593702440571018080 AnimatorState: serializedVersion: 5 @@ -925,6 +1109,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &4691944083144160486 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: + - m_ConditionMode: 1 + m_ConditionEvent: Demoralized + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 1475231742661112934} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 0.75 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1107 &5795682472395110543 AnimatorStateMachine: serializedVersion: 5 @@ -1108,6 +1317,28 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 1 +--- !u!1101 &8649601776160995684 +AnimatorStateTransition: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_Conditions: [] + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -3473988378507739373} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0 + m_TransitionOffset: 0 + m_ExitTime: 1 + m_HasExitTime: 1 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &8752540732762868765 AnimatorStateTransition: m_ObjectHideFlags: 1 diff --git a/Assets/GWConquest/Textures/Icons/Surrender.png b/Assets/GWConquest/Textures/Icons/Surrender.png new file mode 100644 index 0000000..1a9ab52 Binary files /dev/null and b/Assets/GWConquest/Textures/Icons/Surrender.png differ diff --git a/Assets/GWConquest/Textures/Icons/Surrender.png.meta b/Assets/GWConquest/Textures/Icons/Surrender.png.meta new file mode 100644 index 0000000..dd12efb --- /dev/null +++ b/Assets/GWConquest/Textures/Icons/Surrender.png.meta @@ -0,0 +1,128 @@ +fileFormatVersion: 2 +guid: 7ac09bcb1adcd01479663dda61965d38 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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: 2 + 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: 2 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Android + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll b/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll index 124717a..24310ff 100644 Binary files a/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll and b/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll differ diff --git a/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb b/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb index 2630e7d..d745e76 100644 Binary files a/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb and b/Assets/Photon/PhotonBolt/assemblies/bolt.user.dll.mdb differ diff --git a/Assets/Photon/PhotonBolt/project.json b/Assets/Photon/PhotonBolt/project.json index a25c199..5db71b2 100644 --- a/Assets/Photon/PhotonBolt/project.json +++ b/Assets/Photon/PhotonBolt/project.json @@ -280,6 +280,58 @@ "ExtrapolationMaxFrames": 9, "SnapMagnitude": 10.0 } + }, + { + "Name": "Morale", + "Enabled": true, + "Expanded": true, + "ReplicationMode": 1, + "Priority": 1, + "PropertyType": { + "$type": "Bolt.Compiler.PropertyTypeFloat, bolt.compiler", + "Compression": { + "MinValue": -2048, + "MaxValue": 2048, + "Accuracy": 0.01, + "Pack": 100.0, + "Read": 0.01, + "Shift": 2048.0, + "BitsRequired": 19 + } + }, + "AssetSettings": { + "$type": "Bolt.Compiler.PropertyStateSettings, bolt.compiler", + "ExtrapolationErrorTolerance": 0.25, + "_ExtrapolationCorrectionFrames": 6, + "ExtrapolationMaxFrames": 9, + "SnapMagnitude": 10.0 + } + }, + { + "Name": "StartingMorale", + "Enabled": true, + "Expanded": true, + "ReplicationMode": 1, + "Priority": 1, + "PropertyType": { + "$type": "Bolt.Compiler.PropertyTypeFloat, bolt.compiler", + "Compression": { + "MinValue": -2048, + "MaxValue": 2048, + "Accuracy": 0.01, + "Pack": 100.0, + "Read": 0.01, + "Shift": 2048.0, + "BitsRequired": 19 + } + }, + "AssetSettings": { + "$type": "Bolt.Compiler.PropertyStateSettings, bolt.compiler", + "ExtrapolationErrorTolerance": 0.25, + "_ExtrapolationCorrectionFrames": 6, + "ExtrapolationMaxFrames": 9, + "SnapMagnitude": 10.0 + } } ], "PacketMaxBits": 512, @@ -961,6 +1013,32 @@ "ExtrapolationMaxFrames": 9, "SnapMagnitude": 10.0 } + }, + { + "Name": "Morale", + "Enabled": true, + "Expanded": true, + "ReplicationMode": 1, + "Priority": 1, + "PropertyType": { + "$type": "Bolt.Compiler.PropertyTypeFloat, bolt.compiler", + "Compression": { + "MinValue": -2048, + "MaxValue": 2048, + "Accuracy": 0.01, + "Pack": 100.0, + "Read": 0.01, + "Shift": 2048.0, + "BitsRequired": 19 + } + }, + "AssetSettings": { + "$type": "Bolt.Compiler.PropertyStateSettings, bolt.compiler", + "ExtrapolationErrorTolerance": 0.25, + "_ExtrapolationCorrectionFrames": 6, + "ExtrapolationMaxFrames": 9, + "SnapMagnitude": 10.0 + } } ], "PacketMaxBits": 512, @@ -1805,6 +1883,19 @@ "AssetSettings": { "$type": "Bolt.Compiler.PropertyEventSettings, bolt.compiler" } + }, + { + "Name": "IsDemoralized", + "Enabled": true, + "Expanded": true, + "ReplicationMode": 1, + "Priority": 1, + "PropertyType": { + "$type": "Bolt.Compiler.PropertyTypeBool, bolt.compiler" + }, + "AssetSettings": { + "$type": "Bolt.Compiler.PropertyEventSettings, bolt.compiler" + } } ], "EntitySenders": 1,