diff --git a/Assets/Resources/Berries/EvilBerry.png b/Assets/Resources/Berries/EvilBerry.png new file mode 100644 index 0000000..d229948 Binary files /dev/null and b/Assets/Resources/Berries/EvilBerry.png differ diff --git a/Assets/Resources/Berries/EvilBerry.png.meta b/Assets/Resources/Berries/EvilBerry.png.meta new file mode 100644 index 0000000..a0726f2 --- /dev/null +++ b/Assets/Resources/Berries/EvilBerry.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: b914e621d22a31a44b7de356e5e2fa98 +TextureImporter: + internalIDToNameTable: + - first: + 213: -2706729595577502081 + second: image (68)_0 + externalObjects: {} + serializedVersion: 13 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: image (68)_0 + rect: + serializedVersion: 2 + x: 7 + y: 3 + width: 114 + height: 122 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: f76f09016c3cf6ad0800000000000000 + internalID: -2706729595577502081 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + image (68)_0: -2706729595577502081 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Berries/idkberry.png b/Assets/Resources/Berries/idkberry.png new file mode 100644 index 0000000..bb1f2ce Binary files /dev/null and b/Assets/Resources/Berries/idkberry.png differ diff --git a/Assets/Resources/Berries/idkberry.png.meta b/Assets/Resources/Berries/idkberry.png.meta new file mode 100644 index 0000000..5d2376a --- /dev/null +++ b/Assets/Resources/Berries/idkberry.png.meta @@ -0,0 +1,169 @@ +fileFormatVersion: 2 +guid: 5861034ab089bc04f84b82cef93f8d23 +TextureImporter: + internalIDToNameTable: + - first: + 213: -7136849786404909927 + second: image (67)_0 + externalObjects: {} + serializedVersion: 13 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: image (67)_0 + rect: + serializedVersion: 2 + x: 7 + y: 3 + width: 114 + height: 122 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 99c43029ee0d4fc90800000000000000 + internalID: -7136849786404909927 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + image (67)_0: -7136849786404909927 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/MainMenu.unity b/Assets/Scenes/MainMenu.unity index 195a434..483c288 100644 --- a/Assets/Scenes/MainMenu.unity +++ b/Assets/Scenes/MainMenu.unity @@ -584,7 +584,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: new updates every time i feel like it! + m_text: idk what to add m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, type: 2} diff --git a/Assets/Scripts/BazookaManager.cs b/Assets/Scripts/BazookaManager.cs index 0b123e3..f2ffa96 100644 --- a/Assets/Scripts/BazookaManager.cs +++ b/Assets/Scripts/BazookaManager.cs @@ -510,4 +510,23 @@ public class BazookaManager : MonoBehaviour if (saveFile["gameStore"] == null) return; (saveFile["gameStore"] as JObject)?.Remove("totalTimeFreezeBerries"); } + + public void SetGameStoreTotalEvilBerries(BigInteger value) + { + if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject(); + saveFile["gameStore"]["totalEvilBerries"] = value.ToString(); + } + + public BigInteger GetGameStoreTotalEvilBerries() + { + if (saveFile["gameStore"] == null) return 0; + if (saveFile["gameStore"]["totalEvilBerries"] == null) return 0; + return BigInteger.Parse(saveFile["gameStore"]["totalEvilBerries"].ToString()); + } + + public void UnsetGameStoreTotalEvilBerries() + { + if (saveFile["gameStore"] == null) return; + (saveFile["gameStore"] as JObject)?.Remove("totalEvilBerries"); + } } diff --git a/Assets/Scripts/GamePlayer.cs b/Assets/Scripts/GamePlayer.cs index 4529ce0..9c82589 100644 --- a/Assets/Scripts/GamePlayer.cs +++ b/Assets/Scripts/GamePlayer.cs @@ -21,6 +21,7 @@ public class GamePlayer : MonoBehaviour private BigInteger totalTimeSlowBerries; private BigInteger totalPurpleBerries; private BigInteger totalTimeFreezeBerries; + private BigInteger totalEvilBerries; private BigInteger totalAttempts; private float boostLeft; private float timeslowLeft; @@ -308,47 +309,53 @@ public class GamePlayer : MonoBehaviour newBerry.transform.SetParent(berryParent.transform); SpriteRenderer spriteRenderer = newBerry.AddComponent(); - if (spawnProbability <= 0.525f) + if (spawnProbability <= 0.35f) { spriteRenderer.sprite = Resources.Load("Berries/Berry"); newBerry.tag = "NormalBerry"; } - else if (spawnProbability <= 0.65f) + else if (spawnProbability <= 0.50f) { spriteRenderer.sprite = Resources.Load("Berries/PoisonBerry"); newBerry.tag = "PoisonBerry"; } - else if (spawnProbability <= 0.75f) + else if (spawnProbability <= 0.60f) { spriteRenderer.sprite = Resources.Load("Berries/SlowBerry"); newBerry.tag = "SlowBerry"; } - else if (spawnProbability <= 0.85f) + else if (spawnProbability <= 0.70f) { spriteRenderer.sprite = Resources.Load("Berries/UltraBerry"); newBerry.tag = "UltraBerry"; } - else if (spawnProbability <= 0.94f) + else if (spawnProbability <= 0.80f) { spriteRenderer.sprite = Resources.Load("Berries/SpeedyBerry"); newBerry.tag = "SpeedyBerry"; } - else if (spawnProbability <= 0.97f) + else if (spawnProbability <= 0.85f) { spriteRenderer.sprite = Resources.Load("Berries/PurpleBerry"); newBerry.tag = "PurpleBerry"; } - else if (spawnProbability <= 0.985f) + else if (spawnProbability <= 0.90f) { spriteRenderer.sprite = Resources.Load("Berries/TimeSlowBerry"); newBerry.tag = "TimeSlowBerry"; } + else if (spawnProbability <= 0.95f) + { + spriteRenderer.sprite = Resources.Load("Berries/EvilBerry"); + newBerry.tag = "EvilBerry"; + } else { spriteRenderer.sprite = Resources.Load("Berries/TimeFreezeBerry"); newBerry.tag = "TimeFreezeBerry"; } + spriteRenderer.sortingOrder = -5; float screenWidth = Camera.main.orthographicSize * 2 * Camera.main.aspect; @@ -382,6 +389,7 @@ public class GamePlayer : MonoBehaviour GameObject[] timeslowBerries = GameObject.FindGameObjectsWithTag("TimeSlowBerry"); GameObject[] purpleBerries = GameObject.FindGameObjectsWithTag("PurpleBerry"); GameObject[] timefreezeBerries = GameObject.FindGameObjectsWithTag("TimeFreezeBerry"); + GameObject[] evilBerries = GameObject.FindGameObjectsWithTag("EvilBerry"); if (!pausePanel.activeSelf) { @@ -673,8 +681,43 @@ public class GamePlayer : MonoBehaviour timefreezeBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject evilBerry in evilBerries) + { + if (evilBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) + { + Destroy(evilBerry); + } + else if (UnityEngine.Vector3.Distance(bird.transform.position, evilBerry.transform.position) < 1.5f) + { + AudioSource.PlayClipAtPoint(Resources.Load("Sounds/Eat"), Camera.main.transform.position, 1.2f * BazookaManager.Instance.GetSettingSFXVolume()); + Destroy(evilBerry); + totalEvilBerries++; + if (score > 9) + { + UpdateStats(-10, 0); + } + } + + if (timefreezeLeft > 0) + { + evilBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, 0f); + } + else if (speedyLeft > 0) + { + evilBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); + } + else if (timeslowLeft > 0) + { + evilBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -2f); + } + else + { + evilBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + } + } } + else { rb.gravityScale = 0f; @@ -687,6 +730,7 @@ public class GamePlayer : MonoBehaviour .Concat(timeslowBerries) .Concat(purpleBerries) .Concat(timefreezeBerries) + .Concat(evilBerries) .ToArray(); foreach (GameObject berry in allberries) { @@ -718,6 +762,7 @@ public class GamePlayer : MonoBehaviour .Concat(GameObject.FindGameObjectsWithTag("TimeSlowBerry")) .Concat(GameObject.FindGameObjectsWithTag("PurpleBerry")) .Concat(GameObject.FindGameObjectsWithTag("TimeFreezeBerry")) + .Concat(GameObject.FindGameObjectsWithTag("EvilBerry")) .ToArray(); foreach (GameObject berry in allberries) { diff --git a/Assets/Scripts/StatsMenu.cs b/Assets/Scripts/StatsMenu.cs index ef30a99..4621970 100644 --- a/Assets/Scripts/StatsMenu.cs +++ b/Assets/Scripts/StatsMenu.cs @@ -18,6 +18,7 @@ public class StatsMenu : MonoBehaviour text.AppendLine("Total Time Slow Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalTimeSlowBerries())); text.AppendLine("Total Purple Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalPurpleBerries())); text.AppendLine("Total Time Freeze Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalTimeFreezeBerries())); + text.AppendLine("Total Evil Berries: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalEvilBerries())); text.AppendLine("Total Attempts: " + Tools.FormatWithCommas(BazookaManager.Instance.GetGameStoreTotalAttepts())); statText.text = text.ToString(); } diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index b0f6429..9240c5a 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -141,7 +141,7 @@ PlayerSettings: loadStoreDebugModeEnabled: 0 visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 - bundleVersion: 1.0.2 + bundleVersion: 1.0.3 preloadedAssets: - {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3} metroInputSource: 0