diff --git a/.gitignore b/.gitignore index 85d427eb3..72e8d42e5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ /Recordings/ # Wwise folders +/Aetheria-Economy_WwiseProject/.backup /Aetheria-Economy_WwiseProject/.cache /Aetheria-Economy_WwiseProject/GeneratedSoundBanks @@ -84,4 +85,5 @@ Economy.Shared/obj/ # JetBrains Rider .idea folder .idea/ + Packages/packages-lock.json diff --git a/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.validationcache b/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.validationcache index c13fd0420..72575378b 100644 --- a/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.validationcache +++ b/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.validationcache @@ -26,39 +26,49 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.wsettings b/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.wsettings index cafc34416..ce04dab38 100644 --- a/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.wsettings +++ b/Aetheria-Economy_WwiseProject/Aetheria-Economy_WwiseProject.rwvens.wsettings @@ -53,7 +53,7 @@ - + @@ -91,11 +91,24 @@ + + + + + + + + + + + + + diff --git a/Asset Sources/shield.psd b/Asset Sources/shield.psd new file mode 100644 index 000000000..9ec68d4a1 --- /dev/null +++ b/Asset Sources/shield.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34223475abc62202bd62ccd7bf85c141f2564a4b6f9e73db50fa404dde535767 +size 650402 diff --git a/Assets/Materials/UI/Map Gravity Lines.mat b/Assets/Materials/UI/Map Gravity Lines.mat index baba86f69..749d876be 100644 --- a/Assets/Materials/UI/Map Gravity Lines.mat +++ b/Assets/Materials/UI/Map Gravity Lines.mat @@ -86,7 +86,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Scale: 2.7380018 + - _Scale: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 diff --git a/Assets/Resources/Sprites/Icons/Shield2.png b/Assets/Resources/Sprites/Icons/Shield2.png new file mode 100644 index 000000000..4115354bb --- /dev/null +++ b/Assets/Resources/Sprites/Icons/Shield2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e122132706d5e0da9cdda0029d67dbb8e83586f92e39f3975f5caa92cfece241 +size 9609 diff --git a/Assets/Resources/Sprites/Icons/Shield2.png.meta b/Assets/Resources/Sprites/Icons/Shield2.png.meta new file mode 100644 index 000000000..708192251 --- /dev/null +++ b/Assets/Resources/Sprites/Icons/Shield2.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 2a61aee34fcf7e640a093cb4c4fa56bc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + 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: 64 + 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/Resources/Sprites/Icons/Shield2_no.png b/Assets/Resources/Sprites/Icons/Shield2_no.png new file mode 100644 index 000000000..b43c4fe88 --- /dev/null +++ b/Assets/Resources/Sprites/Icons/Shield2_no.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1739bda5c80a853289eb2aa22ecf6ae1059fad1566554eab797f1f381dd6c7a +size 18623 diff --git a/Assets/Resources/Sprites/Icons/Shield2_no.png.meta b/Assets/Resources/Sprites/Icons/Shield2_no.png.meta new file mode 100644 index 000000000..dd4279b0e --- /dev/null +++ b/Assets/Resources/Sprites/Icons/Shield2_no.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: bc1017eafc2627f4aaa4e247f14347fd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + 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: 64 + 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/Scenes/ARPG.unity b/Assets/Scenes/ARPG.unity index 23eafa957..94bf44fb5 100644 --- a/Assets/Scenes/ARPG.unity +++ b/Assets/Scenes/ARPG.unity @@ -888,7 +888,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: b7e9fa39f6151b14ca05120764cf2cb5, type: 3} + m_Sprite: {fileID: 21300000, guid: 2a61aee34fcf7e640a093cb4c4fa56bc, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -16189,14 +16189,26 @@ MonoBehaviour: ActionBarSlot: {fileID: 8334150340270499366, guid: bfce34a0acbaa454e97a700e1875357e, type: 3} EffectManagerParent: {fileID: 134113271} + ZoneRenderer: {fileID: 1009503731} + DockCamera: {fileID: 393266593} + FollowCamera: {fileID: 887677622} + WormholeCamera: {fileID: 1644480539} + SectorMap: {fileID: 2132980328} + VolumeRenderer: {fileID: 2115559093} + MainMenu: {fileID: 588628536} + Menu: {fileID: 1726632268} + MenuMap: {fileID: 630131162} TradeMenu: {fileID: 522642869} + Inventory: {fileID: 1997243495} + ShipPanel: {fileID: 7628189704109037582} + TargetShipPanel: {fileID: 410701133} + Dialog: {fileID: 620555924} + Context: {fileID: 1157981993} + Dropdown: {fileID: 178733681} + GameplayUI: {fileID: 346000248} + EventLog: {fileID: 1396909588} HostileTargetIndicator: {fileID: 1787772783} ViewDot: {fileID: 146394778} - TargetIndicator: {fileID: 1556666357} - TargetHitpointsFill: {fileID: 1691348884} - TargetVisibilityFill: {fileID: 1715434759} - VisibilityToTargetFill: {fileID: 88683285} - TargetShieldsFill: {fileID: 932155240} LockIndicator: {fileID: 1876420642} Crosshairs: - {fileID: 1914685583} @@ -16205,25 +16217,19 @@ MonoBehaviour: - {fileID: 1631662979} HitMarker: {fileID: 1771741748} HitMarkerDuration: 0.25 - EventLog: {fileID: 1396909588} - ZoneRenderer: {fileID: 1009503731} - DockCamera: {fileID: 393266593} - FollowCamera: {fileID: 887677622} - WormholeCamera: {fileID: 1644480539} - GameplayUI: {fileID: 346000248} - MainMenu: {fileID: 588628536} - Menu: {fileID: 1726632268} - MenuMap: {fileID: 630131162} - SectorMap: {fileID: 2132980328} - VolumeRenderer: {fileID: 2115559093} SchematicDisplay: {fileID: 7628189704109037584} TargetSchematicDisplay: {fileID: 410701129} - Inventory: {fileID: 1997243495} - ShipPanel: {fileID: 7628189704109037582} - TargetShipPanel: {fileID: 410701133} - Dialog: {fileID: 620555924} - Context: {fileID: 1157981993} - Dropdown: {fileID: 178733681} + TargetIndicator: {fileID: 1556666357} + TargetHitpointsFill: {fileID: 1691348884} + TargetVisibilityFill: {fileID: 1715434759} + VisibilityToTargetFill: {fileID: 88683285} + TargetShieldsBackground: {fileID: 2030645739} + TargetShieldsFill: {fileID: 932155240} + TargetShieldsIcon: {fileID: 79560454} + ShieldColor: {r: 0.18823527, g: 0.5620914, b: 0.7490196, a: 1} + NoShieldColor: {r: 0.6, g: 0.6, b: 0.6, a: 1} + ShieldIcon: {fileID: 21300000, guid: 2a61aee34fcf7e640a093cb4c4fa56bc, type: 3} + NoShieldIcon: {fileID: 21300000, guid: bc1017eafc2627f4aaa4e247f14347fd, type: 3} IntroDuration: 10 --- !u!4 &1009503730 Transform: @@ -23544,12 +23550,12 @@ PrefabInstance: - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} @@ -23569,7 +23575,7 @@ PrefabInstance: - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -16 objectReference: {fileID: 0} - target: {fileID: 1713457305180270767, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} @@ -24756,12 +24762,12 @@ PrefabInstance: - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} @@ -24781,7 +24787,7 @@ PrefabInstance: - target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -16 objectReference: {fileID: 0} - target: {fileID: 1713457305180270767, guid: 2758dfa2744d7ad4d8877545189d116e, type: 3} diff --git a/Assets/Scripts/Gameplay/ActionGameManager.cs b/Assets/Scripts/Gameplay/ActionGameManager.cs index 2b6cf8e95..52a800c98 100644 --- a/Assets/Scripts/Gameplay/ActionGameManager.cs +++ b/Assets/Scripts/Gameplay/ActionGameManager.cs @@ -92,38 +92,50 @@ public class ActionGameManager : MonoBehaviour public Transform ActionBar; public ActionBarSlot ActionBarSlot; public Transform EffectManagerParent; - public TradeMenu TradeMenu; - public Prototype HostileTargetIndicator; - public PlaceUIElementWorldspace ViewDot; - public PlaceUIElementWorldspace TargetIndicator; - public Image TargetHitpointsFill; - public Image TargetVisibilityFill; - public Image VisibilityToTargetFill; - public Image TargetShieldsFill; - public Prototype LockIndicator; - public PlaceUIElementWorldspace[] Crosshairs; - public GameObject HitMarker; - public float HitMarkerDuration; - public EventLog EventLog; public ZoneRenderer ZoneRenderer; public CinemachineVirtualCamera DockCamera; public CinemachineVirtualCamera FollowCamera; public CinemachineVirtualCamera WormholeCamera; - public CanvasGroup GameplayUI; - public MainMenu MainMenu; - public MenuPanel Menu; - public MapRenderer MenuMap; //public SectorRenderer SectorRenderer; public SectorMap SectorMap; public VolumeSampling VolumeRenderer; - public SchematicDisplay SchematicDisplay; - public SchematicDisplay TargetSchematicDisplay; + + [Header("Menu UI")] + public MainMenu MainMenu; + public MenuPanel Menu; + public MapRenderer MenuMap; + public TradeMenu TradeMenu; public InventoryMenu Inventory; public InventoryPanel ShipPanel; public InventoryPanel TargetShipPanel; public ConfirmationDialog Dialog; public ContextMenu Context; public DropdownMenu Dropdown; + + [Header("Gameplay UI")] + public CanvasGroup GameplayUI; + public EventLog EventLog; + public Prototype HostileTargetIndicator; + public PlaceUIElementWorldspace ViewDot; + public Prototype LockIndicator; + public PlaceUIElementWorldspace[] Crosshairs; + public GameObject HitMarker; + public float HitMarkerDuration; + public SchematicDisplay SchematicDisplay; + public SchematicDisplay TargetSchematicDisplay; + + [Header("Target Indicator")] + public PlaceUIElementWorldspace TargetIndicator; + public Image TargetHitpointsFill; + public Image TargetVisibilityFill; + public Image VisibilityToTargetFill; + public Image TargetShieldsBackground; + public Image TargetShieldsFill; + public Image TargetShieldsIcon; + public Color ShieldColor; + public Color NoShieldColor; + public Sprite ShieldIcon; + public Sprite NoShieldIcon; public float IntroDuration; @@ -922,6 +934,18 @@ public class ActionGameManager : MonoBehaviour TargetShipPanel.gameObject.SetActive(target != null); if (target != null) { + if (target.Shield != null) + { + TargetShieldsBackground.color = new Color(ShieldColor.r, ShieldColor.g, ShieldColor.b, .4f); + TargetShieldsIcon.color = ShieldColor; + TargetShieldsIcon.sprite = ShieldIcon; + } + else + { + TargetShieldsBackground.color = new Color(NoShieldColor.r, NoShieldColor.g, NoShieldColor.b, .4f); + TargetShieldsIcon.color = NoShieldColor; + TargetShieldsIcon.sprite = NoShieldIcon; + } TargetShipPanel.Display(target, true); TargetSchematicDisplay.ShowShip(target, CurrentEntity); @@ -1078,6 +1102,7 @@ public class ActionGameManager : MonoBehaviour TargetVisibilityFill.fillAmount = lerp(.25f, .75f, (CurrentEntity.EntityInfoGathered[target] - threshold)/(1-threshold)); VisibilityToTargetFill.fillAmount = lerp(.25f, .75f, target.EntityInfoGathered[CurrentEntity] / threshold); TargetHitpointsFill.fillAmount = lerp(.25f, .75f, target.Hull.Durability / target.EquippedHull.Data.Durability); + TargetShieldsFill.fillAmount = target.Shield == null ? 0 : lerp(.25f, .75f, target.Shield.Progress); } var tractorPower = Input.Player.TractorBeam.ReadValue(); diff --git a/Assets/Scripts/ServerShared/Behaviors/Shield.cs b/Assets/Scripts/ServerShared/Behaviors/Shield.cs index b3e0b60ee..56f8d0165 100644 --- a/Assets/Scripts/ServerShared/Behaviors/Shield.cs +++ b/Assets/Scripts/ServerShared/Behaviors/Shield.cs @@ -26,12 +26,11 @@ public class ShieldData : BehaviorData } } -public class Shield : Behavior +public class Shield : Behavior, IProgressBehavior { public float Efficiency { get; private set; } public float EnergyUsage { get; private set; } - private ShieldData _data; public Shield(ShieldData data, EquippedItem item) : base(data, item) @@ -60,4 +59,6 @@ public class Shield : Behavior Entity.TryConsumeEnergy(damage * EnergyUsage); AddHeat(damage / Efficiency); } + + public virtual float Progress => Item.ThermalPerformance; } \ No newline at end of file diff --git a/GameData/PlayerSettings.msgpack b/GameData/PlayerSettings.msgpack index d6a4871ec..047ec0721 100644 --- a/GameData/PlayerSettings.msgpack +++ b/GameData/PlayerSettings.msgpack @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:184aa9a87d9e9721cdd0e3b047dfd40e18d1112e0513d0ac8e073f88cda87bba -size 66 +oid sha256:11e2f1ce318f24fc2ba46f014fc64518a4594c47cc4d40fd54a85e1af5ca0a5f +size 27072