From 1912822e632890ef5889c5e2a9658426dee17a3c Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Wed, 11 Feb 2026 13:08:56 -0700 Subject: [PATCH] Add Golden Berry --- Assets/Scenes/PlayMenu.unity | 532 ++++++++++++++++++++++++++- Assets/Scripts/BazookaManager.cs | 19 + Assets/Scripts/CustomGamePlayer.cs | 64 +++- Assets/Scripts/CustomGameTempData.cs | 1 + Assets/Scripts/GamePlayer.cs | 84 ++++- Assets/Scripts/PlayMenu.cs | 22 +- ProjectSettings/TagManager.asset | 1 + 7 files changed, 693 insertions(+), 30 deletions(-) diff --git a/Assets/Scenes/PlayMenu.unity b/Assets/Scenes/PlayMenu.unity index aa976d2..0599c30 100644 --- a/Assets/Scenes/PlayMenu.unity +++ b/Assets/Scenes/PlayMenu.unity @@ -537,6 +537,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 71025518} m_CullTransparentMesh: 1 +--- !u!1 &115280837 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 115280838} + - component: {fileID: 115280840} + - component: {fileID: 115280839} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &115280838 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115280837} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1156039629} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 22.5, y: -22.5} + m_SizeDelta: {x: 45, y: 45} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &115280839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115280837} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 4ab5bc43be230d64cabe2df932334461, 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!222 &115280840 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 115280837} + m_CullTransparentMesh: 1 --- !u!1 &164218986 GameObject: m_ObjectHideFlags: 0 @@ -696,6 +771,160 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &191439472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 191439473} + - component: {fileID: 191439476} + - component: {fileID: 191439475} + - component: {fileID: 191439474} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &191439473 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191439472} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 725567127} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &191439474 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191439472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73b30df2b3a7144b99b75ce70168fd50, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::CustomColorObject + type: 9 + invert: 0 + addMore: {r: 0, g: 0, b: 0, a: 0} + reverseAdd: 0 +--- !u!114 &191439475 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191439472} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "5%\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 0 + m_fontSizeMax: 24 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 3 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 1 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &191439476 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191439472} + m_CullTransparentMesh: 1 --- !u!1 &209744588 GameObject: m_ObjectHideFlags: 0 @@ -1422,7 +1651,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "47.5%\u200B" + m_text: "42.5%\u200B" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, type: 2} @@ -1449,7 +1678,7 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 22.3 + m_fontSize: 22.25 m_fontSizeBase: 24 m_fontWeight: 400 m_enableAutoSizing: 1 @@ -1539,7 +1768,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: -100} - m_SizeDelta: {x: 658.25, y: 45.01} + m_SizeDelta: {x: 658.29, y: 45.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &459138108 MonoBehaviour: @@ -2190,7 +2419,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -160} + m_AnchoredPosition: {x: 0, y: -180} m_SizeDelta: {x: 316.14, y: 30.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &598155839 @@ -2349,6 +2578,7 @@ MonoBehaviour: speedyBerryChance: {fileID: 1878332340} randomBerryChance: {fileID: 2018765150} antiBerryChance: {fileID: 1230511725} + goldenBerryChance: {fileID: 1809489635} nothingBerryChance: {fileID: 830548777} validateTotalText: {fileID: 598155839} --- !u!4 &639162580 @@ -2594,7 +2824,7 @@ MonoBehaviour: m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_CustomCaretColor: 0 m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} - m_Text: 47.5% + m_Text: 42.5% m_CaretBlinkRate: 0.85 m_CaretWidth: 1 m_ReadOnly: 0 @@ -2663,6 +2893,57 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &725567126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 725567127} + - component: {fileID: 725567128} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &725567127 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725567126} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 191439473} + m_Father: {fileID: 1809489633} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -0.5} + m_SizeDelta: {x: -20, y: -13} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &725567128 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725567126} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} --- !u!1 &773889099 GameObject: m_ObjectHideFlags: 0 @@ -4308,6 +4589,43 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1156039628 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1156039629} + m_Layer: 5 + m_Name: Berry + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1156039629 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1156039628} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 115280838} + - {fileID: 1809489633} + m_Father: {fileID: 1425764567} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 456.25, y: -209.9} + m_SizeDelta: {x: 132.5, y: 45} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1219795704 GameObject: m_ObjectHideFlags: 0 @@ -4342,7 +4660,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 456.25, y: -177.4} + m_AnchoredPosition: {x: 456.25, y: -154.9} m_SizeDelta: {x: 132.5, y: 45} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1230511723 @@ -5023,6 +5341,7 @@ RectTransform: - {fileID: 1607812743} - {fileID: 1747700597} - {fileID: 1219795705} + - {fileID: 1156039629} - {fileID: 1563853710} m_Father: {fileID: 164218987} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -5526,7 +5845,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 456.25, y: -232.5} + m_AnchoredPosition: {x: 456.25, y: -265} m_SizeDelta: {x: 132.5, y: 45} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1607812742 @@ -5563,7 +5882,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 456.25, y: -67.4} + m_AnchoredPosition: {x: 456.25, y: -44.9} m_SizeDelta: {x: 132.5, y: 45} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1635975972 @@ -6335,9 +6654,204 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 456.25, y: -122.39999} + m_AnchoredPosition: {x: 456.25, y: -99.9} m_SizeDelta: {x: 132.5, y: 45} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1809489632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1809489633} + - component: {fileID: 1809489637} + - component: {fileID: 1809489636} + - component: {fileID: 1809489635} + - component: {fileID: 1809489634} + m_Layer: 5 + m_Name: SpawnRate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1809489633 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809489632} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 725567127} + m_Father: {fileID: 1156039629} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 82.5, y: 45} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1809489634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809489632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73b30df2b3a7144b99b75ce70168fd50, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::CustomColorObject + type: 2 + invert: 0 + addMore: {r: 0, g: 0, b: 0, a: 0} + reverseAdd: 0 +--- !u!114 &1809489635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809489632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_InputField + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1809489636} + m_TextViewport: {fileID: 725567127} + m_TextComponent: {fileID: 191439475} + m_Placeholder: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 3 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 2 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 3 + m_RegexValue: + m_GlobalPointSize: 24 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 5% + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_OnFocusSelectAll: 0 + m_ResetOnDeActivation: 1 + m_KeepTextSelectionVisible: 0 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + isAlert: 0 + m_InputValidator: {fileID: 0} + m_ShouldActivateOnSelect: 1 +--- !u!114 &1809489636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809489632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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!222 &1809489637 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1809489632} + m_CullTransparentMesh: 1 --- !u!1 &1878332338 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/BazookaManager.cs b/Assets/Scripts/BazookaManager.cs index 26c0ca0..f7282b5 100644 --- a/Assets/Scripts/BazookaManager.cs +++ b/Assets/Scripts/BazookaManager.cs @@ -711,4 +711,23 @@ public class BazookaManager : MonoBehaviour if (saveFile["gameStore"] == null) return; (saveFile["gameStore"] as JObject)?.Remove("totalAntiBerries"); } + + public void SetGameStoreTotalGoldenBerries(BigInteger value) + { + if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject(); + saveFile["gameStore"]["totalGoldenBerries"] = value.ToString(); + } + + public BigInteger GetGameStoreTotalGoldenBerries() + { + if (saveFile["gameStore"] == null) return 0; + if (saveFile["gameStore"]["totalGoldenBerries"] == null) return 0; + return BigInteger.Parse(saveFile["gameStore"]["totalGoldenBerries"].ToString()); + } + + public void UnsetGameStoreTotalGoldenBerries() + { + if (saveFile["gameStore"] == null) return; + (saveFile["gameStore"] as JObject)?.Remove("totalGoldenBerries"); + } } diff --git a/Assets/Scripts/CustomGamePlayer.cs b/Assets/Scripts/CustomGamePlayer.cs index 0591319..7c83fcd 100644 --- a/Assets/Scripts/CustomGamePlayer.cs +++ b/Assets/Scripts/CustomGamePlayer.cs @@ -16,6 +16,7 @@ public class CustomGamePlayer : MonoBehaviour private float slownessLeft; private float speedyLeft; private float antiLeft; + private float goldenLeft; private float screenWidth; internal bool isGrounded; [SerializeField] private TMP_Text scoreText; @@ -42,6 +43,7 @@ public class CustomGamePlayer : MonoBehaviour private float speedyBerryChance; private float randomBerryChance; private float antiBerryChance; + private float goldenBerryChance; private float nothingBerryChance; void Start() @@ -59,6 +61,7 @@ public class CustomGamePlayer : MonoBehaviour speedyBerryChance = customGameTempData.speedyBerryChance; randomBerryChance = customGameTempData.randomBerryChance; antiBerryChance = customGameTempData.antiBerryChance; + goldenBerryChance = customGameTempData.goldenBerryChance; nothingBerryChance = customGameTempData.nothingBerryChance; Destroy(customGameTempData.gameObject); @@ -243,17 +246,18 @@ public class CustomGamePlayer : MonoBehaviour { if (score != 0) Respawn(); } - if (antiLeft > 0f) + if (antiLeft > 0f || goldenLeft > 0f) { - string[] berryTags = { "NormalBerry", "PoisonBerry", "SlowBerry", "UltraBerry", "SpeedyBerry", "RandomBerry", "AntiBerry" }; + string[] berryTags = { "NormalBerry", "SlowBerry", "UltraBerry", "SpeedyBerry", "CoinBerry", "RandomBerry", "AntiBerry", "GoldenBerry" }; + if (antiLeft > 0f) berryTags.Append("PoisonBerry"); foreach (string tag in berryTags) { foreach (var berry in GameObject.FindGameObjectsWithTag(tag)) { UnityEngine.Vector3 dir = berry.transform.position - bird.transform.position; - if (dir.magnitude < 3f) + if (dir.magnitude < (antiLeft > 0 ? 3f : 4.5f)) { - berry.GetComponent().linearVelocity = dir.normalized * 5f; + berry.GetComponent().linearVelocity = dir.normalized * (antiLeft > 0 ? 5f : -5f); ClampPosition(berry, false); } } @@ -304,6 +308,11 @@ public class CustomGamePlayer : MonoBehaviour antiLeft -= Time.deltaTime; boostText.text = "Berry repellent expires in " + string.Format("{0:0.0}", antiLeft) + "s"; } + else if (goldenLeft > 0f) + { + goldenLeft -= Time.deltaTime; + boostText.text = "Berry magnet expires in " + string.Format("{0:0.0}", goldenLeft) + "s"; + } else { boostText.text = ""; @@ -383,6 +392,13 @@ public class CustomGamePlayer : MonoBehaviour newBerry.tag = "AntiBerry"; goto finish; } + cumulative += goldenBerryChance / 100f; + if (spawnProbability <= cumulative) + { + spriteRenderer.sprite = Resources.Load("Berries/GoldenBerry"); + newBerry.tag = "GoldenBerry"; + goto finish; + } cumulative += nothingBerryChance / 100f; if (spawnProbability <= cumulative) { @@ -420,6 +436,8 @@ public class CustomGamePlayer : MonoBehaviour .Concat(GameObject.FindGameObjectsWithTag("SpeedyBerry")) .Concat(GameObject.FindGameObjectsWithTag("RandomBerry")) .Concat(GameObject.FindGameObjectsWithTag("AntiBerry")) + .Concat(GameObject.FindGameObjectsWithTag("GoldenBerry")) + .Concat(GameObject.FindGameObjectsWithTag("NothingBerry")) .ToArray(); foreach (GameObject berry in allberries) { @@ -433,6 +451,7 @@ public class CustomGamePlayer : MonoBehaviour GameObject[] speedyBerries = GameObject.FindGameObjectsWithTag("SpeedyBerry"); GameObject[] randomBerries = GameObject.FindGameObjectsWithTag("RandomBerry"); GameObject[] antiBerries = GameObject.FindGameObjectsWithTag("AntiBerry"); + GameObject[] goldenBerries = GameObject.FindGameObjectsWithTag("GoldenBerry"); GameObject[] nothingBerries = GameObject.FindGameObjectsWithTag("NothingBerry"); if (!pausePanel.activeSelf) @@ -583,6 +602,25 @@ public class CustomGamePlayer : MonoBehaviour antiBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject goldenBerry in goldenBerries) + { + if (goldenBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) + { + Destroy(goldenBerry); + } + else if (UnityEngine.Vector3.Distance(bird.transform.position, goldenBerry.transform.position) < 1.5f) + { + DoGoldenBerry(goldenBerry); + } + if (speedyLeft > 0) + { + goldenBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); + } + else + { + goldenBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + } + } foreach (GameObject nothingBerry in nothingBerries) { if (nothingBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) @@ -614,6 +652,7 @@ public class CustomGamePlayer : MonoBehaviour .Concat(speedyBerries) .Concat(randomBerries) .Concat(antiBerries) + .Concat(goldenBerries) .Concat(nothingBerries) .ToArray(); foreach (GameObject berry in allberries) @@ -644,6 +683,7 @@ public class CustomGamePlayer : MonoBehaviour .Concat(GameObject.FindGameObjectsWithTag("SpeedyBerry")) .Concat(GameObject.FindGameObjectsWithTag("RandomBerry")) .Concat(GameObject.FindGameObjectsWithTag("AntiBerry")) + .Concat(GameObject.FindGameObjectsWithTag("GoldenBerry")) .Concat(GameObject.FindGameObjectsWithTag("NothingBerry")) .ToArray(); foreach (GameObject berry in allberries) @@ -741,6 +781,7 @@ public class CustomGamePlayer : MonoBehaviour slownessLeft = 10f; speedyLeft = 0f; antiLeft = 0f; + goldenLeft = 0f; if (score > 0) { UpdateStats(-1); @@ -753,6 +794,7 @@ public class CustomGamePlayer : MonoBehaviour Destroy(berry); speedyLeft = 0f; antiLeft = 0f; + goldenLeft = 0f; if (slownessLeft > 0f) { slownessLeft = 0f; @@ -773,6 +815,7 @@ public class CustomGamePlayer : MonoBehaviour slownessLeft = 0f; speedyLeft = 10f; antiLeft = 0f; + goldenLeft = 0f; UpdateStats(10); } @@ -784,6 +827,19 @@ public class CustomGamePlayer : MonoBehaviour slownessLeft = 0f; speedyLeft = 0f; antiLeft = 10f; + goldenLeft = 0f; + UpdateStats(0); + } + + void DoGoldenBerry(GameObject berry) + { + AudioSource.PlayClipAtPoint(Resources.Load("Sounds/Powerup"), Camera.main.transform.position, 0.35f * BazookaManager.Instance.GetSettingSFXVolume()); + Destroy(berry); + boostLeft = 0f; + slownessLeft = 0f; + speedyLeft = 0f; + antiLeft = 0f; + goldenLeft = 10f; UpdateStats(0); } diff --git a/Assets/Scripts/CustomGameTempData.cs b/Assets/Scripts/CustomGameTempData.cs index 2104232..ef28a17 100644 --- a/Assets/Scripts/CustomGameTempData.cs +++ b/Assets/Scripts/CustomGameTempData.cs @@ -9,6 +9,7 @@ public class CustomGameTempData : MonoBehaviour public float speedyBerryChance; public float randomBerryChance; public float antiBerryChance; + public float goldenBerryChance; public float nothingBerryChance; void Awake() diff --git a/Assets/Scripts/GamePlayer.cs b/Assets/Scripts/GamePlayer.cs index 135472a..f1c08f7 100644 --- a/Assets/Scripts/GamePlayer.cs +++ b/Assets/Scripts/GamePlayer.cs @@ -22,12 +22,14 @@ public class GamePlayer : MonoBehaviour private BigInteger totalCoinBerries; private BigInteger totalRandomBerries; private BigInteger totalAntiBerries; + private BigInteger totalGoldenBerries; private BigInteger totalAttempts; private BigInteger totalCoins; private float boostLeft; private float slownessLeft; private float speedyLeft; private float antiLeft; + private float goldenLeft; private float screenWidth; internal bool isGrounded; [SerializeField] private TMP_Text scoreText; @@ -138,6 +140,7 @@ public class GamePlayer : MonoBehaviour totalCoinBerries = BazookaManager.Instance.GetGameStoreTotalCoinBerries(); totalRandomBerries = BazookaManager.Instance.GetGameStoreTotalRandomBerries(); totalAntiBerries = BazookaManager.Instance.GetGameStoreTotalAntiBerries(); + totalGoldenBerries = BazookaManager.Instance.GetGameStoreTotalGoldenBerries(); totalAttempts = BazookaManager.Instance.GetGameStoreTotalAttepts(); totalCoins = BazookaManager.Instance.GetCustomBirdIconData().Balance; @@ -244,17 +247,18 @@ public class GamePlayer : MonoBehaviour { if (score != 0) Respawn(); } - if (antiLeft > 0f) + if (antiLeft > 0f || goldenLeft > 0f) { - string[] berryTags = { "NormalBerry", "PoisonBerry", "SlowBerry", "UltraBerry", "SpeedyBerry", "CoinBerry", "RandomBerry", "AntiBerry" }; + string[] berryTags = { "NormalBerry", "SlowBerry", "UltraBerry", "SpeedyBerry", "CoinBerry", "RandomBerry", "AntiBerry", "GoldenBerry" }; + if (antiLeft > 0f) berryTags.Append("PoisonBerry"); foreach (string tag in berryTags) { foreach (var berry in GameObject.FindGameObjectsWithTag(tag)) { UnityEngine.Vector3 dir = berry.transform.position - bird.transform.position; - if (dir.magnitude < 3f) + if (dir.magnitude < (antiLeft > 0 ? 3f : 4.5f)) { - berry.GetComponent().linearVelocity = dir.normalized * 5f; + berry.GetComponent().linearVelocity = dir.normalized * (antiLeft > 0 ? 5f : -5f); ClampPosition(berry, false); } } @@ -305,6 +309,11 @@ public class GamePlayer : MonoBehaviour antiLeft -= Time.deltaTime; boostText.text = "Berry repellent expires in " + string.Format("{0:0.0}", antiLeft) + "s"; } + else if (goldenLeft > 0f) + { + goldenLeft -= Time.deltaTime; + boostText.text = "Berry magnet expires in " + string.Format("{0:0.0}", goldenLeft) + "s"; + } else { boostText.text = ""; @@ -332,48 +341,53 @@ public class GamePlayer : MonoBehaviour GameObject newBerry = new("Berry"); newBerry.transform.SetParent(berryParent.transform); SpriteRenderer spriteRenderer = newBerry.AddComponent(); - if (spawnProbability <= 0.425f) + if (spawnProbability <= 0.375f) { spriteRenderer.sprite = Resources.Load("Berries/Berry"); newBerry.tag = "NormalBerry"; } - else if (spawnProbability <= 0.55f) + else if (spawnProbability <= 0.550) { spriteRenderer.sprite = Resources.Load("Berries/PoisonBerry"); newBerry.tag = "PoisonBerry"; } - else if (spawnProbability <= 0.65f) + else if (spawnProbability <= 0.60f) { spriteRenderer.sprite = Resources.Load("Berries/SlowBerry"); newBerry.tag = "SlowBerry"; } - else if (spawnProbability <= 0.75f) + else if (spawnProbability <= 0.70f) { spriteRenderer.sprite = Resources.Load("Berries/UltraBerry"); newBerry.tag = "UltraBerry"; } - else if (spawnProbability <= 0.85f) + else if (spawnProbability <= 0.80f) { spriteRenderer.sprite = Resources.Load("Berries/SpeedyBerry"); newBerry.tag = "SpeedyBerry"; } - else if (spawnProbability <= 0.90f) + else if (spawnProbability <= 0.85f) { spriteRenderer.sprite = Resources.Load("Berries/CoinBerry"); newBerry.tag = "CoinBerry"; } - else if (spawnProbability <= 0.95f) + else if (spawnProbability <= 0.90f) { spriteRenderer.sprite = Resources.Load("Berries/BerryNoColor"); newBerry.tag = "RandomBerry"; RainbowSpriteRender randomBerryRainbowImage = newBerry.AddComponent(); randomBerryRainbowImage.frequency = 5f; } - else + else if (spawnProbability <= 0.95f) { spriteRenderer.sprite = Resources.Load("Berries/AntiBerry"); newBerry.tag = "AntiBerry"; } + else + { + spriteRenderer.sprite = Resources.Load("Berries/GoldenBerry"); + newBerry.tag = "GoldenBerry"; + } spriteRenderer.sortingOrder = -5; float screenWidth = Camera.main.orthographicSize * 2 * Camera.main.aspect; @@ -404,6 +418,7 @@ public class GamePlayer : MonoBehaviour .Concat(GameObject.FindGameObjectsWithTag("CoinBerry")) .Concat(GameObject.FindGameObjectsWithTag("RandomBerry")) .Concat(GameObject.FindGameObjectsWithTag("AntiBerry")) + .Concat(GameObject.FindGameObjectsWithTag("GoldenBerry")) .ToArray(); foreach (GameObject berry in allberries) { @@ -418,6 +433,7 @@ public class GamePlayer : MonoBehaviour GameObject[] coinBerries = GameObject.FindGameObjectsWithTag("CoinBerry"); GameObject[] randomBerries = GameObject.FindGameObjectsWithTag("RandomBerry"); GameObject[] antiBerries = GameObject.FindGameObjectsWithTag("AntiBerry"); + GameObject[] goldenBerries = GameObject.FindGameObjectsWithTag("GoldenBerry"); if (!pausePanel.activeSelf) { @@ -556,12 +572,13 @@ public class GamePlayer : MonoBehaviour else if (UnityEngine.Vector3.Distance(bird.transform.position, randomBerry.transform.position) < 1.5f) { totalRandomBerries++; - System.Action[] funcs = { + Action[] funcs = { () => DoNormalBerry(randomBerry), () => DoSlowBerry(randomBerry), () => DoUltraBerry(randomBerry), () => DoSpeedyBerry(randomBerry), - () => DoAntiBerry(randomBerry) + () => DoAntiBerry(randomBerry), + () => DoGoldenBerry(randomBerry) }; funcs[UnityEngine.Random.Range(0, funcs.Length)](); } @@ -594,6 +611,26 @@ public class GamePlayer : MonoBehaviour antiBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); } } + foreach (GameObject goldenBerry in goldenBerries) + { + if (goldenBerry.transform.position.y < 0f - Camera.main.orthographicSize - 1f) + { + Destroy(goldenBerry); + } + else if (UnityEngine.Vector3.Distance(bird.transform.position, goldenBerry.transform.position) < 1.5f) + { + totalGoldenBerries++; + DoGoldenBerry(goldenBerry); + } + if (speedyLeft > 0) + { + goldenBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -7.5f); + } + else + { + goldenBerry.GetComponent().linearVelocity = new UnityEngine.Vector2(0f, -4f); + } + } } else { @@ -607,6 +644,7 @@ public class GamePlayer : MonoBehaviour .Concat(coinBerries) .Concat(randomBerries) .Concat(antiBerries) + .Concat(goldenBerries) .ToArray(); foreach (GameObject berry in allberries) { @@ -637,6 +675,7 @@ public class GamePlayer : MonoBehaviour .Concat(GameObject.FindGameObjectsWithTag("CoinBerry")) .Concat(GameObject.FindGameObjectsWithTag("RandomBerry")) .Concat(GameObject.FindGameObjectsWithTag("AntiBerry")) + .Concat(GameObject.FindGameObjectsWithTag("GoldenBerry")) .ToArray(); foreach (GameObject berry in allberries) { @@ -667,6 +706,7 @@ public class GamePlayer : MonoBehaviour BazookaManager.Instance.SetGameStoreTotalCoinBerries(totalCoinBerries); BazookaManager.Instance.SetGameStoreTotalRandomBerries(totalRandomBerries); BazookaManager.Instance.SetGameStoreTotalAntiBerries(totalAntiBerries); + BazookaManager.Instance.SetGameStoreTotalGoldenBerries(totalGoldenBerries); BazookaManager.Instance.SetGameStoreTotalAttepts(totalAttempts); var customBirdIconData = BazookaManager.Instance.GetCustomBirdIconData(); customBirdIconData.Balance = totalCoins; @@ -763,6 +803,7 @@ public class GamePlayer : MonoBehaviour slownessLeft = 10f; speedyLeft = 0f; antiLeft = 0f; + goldenLeft = 0f; if (score > 0) { UpdateStats(-1, 0); @@ -775,6 +816,7 @@ public class GamePlayer : MonoBehaviour Destroy(berry); speedyLeft = 0f; antiLeft = 0f; + goldenLeft = 0f; if (slownessLeft > 0f) { slownessLeft = 0f; @@ -795,6 +837,7 @@ public class GamePlayer : MonoBehaviour slownessLeft = 0f; speedyLeft = 10f; antiLeft = 0f; + goldenLeft = 0f; UpdateStats(10, 0); } @@ -814,6 +857,19 @@ public class GamePlayer : MonoBehaviour slownessLeft = 0f; speedyLeft = 0f; antiLeft = 10f; + goldenLeft = 0f; + UpdateStats(0, 0); + } + + void DoGoldenBerry(GameObject berry) + { + AudioSource.PlayClipAtPoint(Resources.Load("Sounds/Powerup"), Camera.main.transform.position, 0.35f * BazookaManager.Instance.GetSettingSFXVolume()); + Destroy(berry); + boostLeft = 0f; + slownessLeft = 0f; + speedyLeft = 0f; + antiLeft = 0f; + goldenLeft = 10f; UpdateStats(0, 0); } } \ No newline at end of file diff --git a/Assets/Scripts/PlayMenu.cs b/Assets/Scripts/PlayMenu.cs index e356f69..19a1534 100644 --- a/Assets/Scripts/PlayMenu.cs +++ b/Assets/Scripts/PlayMenu.cs @@ -21,17 +21,19 @@ public class PlayMenu : MonoBehaviour [SerializeField] private TMP_InputField speedyBerryChance; [SerializeField] private TMP_InputField randomBerryChance; [SerializeField] private TMP_InputField antiBerryChance; + [SerializeField] private TMP_InputField goldenBerryChance; [SerializeField] private TMP_InputField nothingBerryChance; [SerializeField] private TMP_Text validateTotalText; - private readonly float defaultNormalBerryChance = 47.5f; + private readonly float defaultNormalBerryChance = 32.5f; private readonly float defaultPoisonBerryChance = 12.5f; private readonly float defaultSlowBerryChance = 10f; private readonly float defaultUltraBerryChance = 10f; private readonly float defaultSpeedyBerryChance = 10f; private readonly float defaultRandomBerryChance = 5f; private readonly float defaultAntiBerryChance = 5f; + private readonly float defaultGoldenBerryChance = 5f; private readonly float defaultNothingBerryChance = 0f; void Awake() @@ -55,6 +57,7 @@ public class PlayMenu : MonoBehaviour speedyBerryChance.text = defaultSpeedyBerryChance.ToString(); randomBerryChance.text = defaultRandomBerryChance.ToString(); antiBerryChance.text = defaultAntiBerryChance.ToString(); + goldenBerryChance.text = defaultGoldenBerryChance.ToString(); nothingBerryChance.text = defaultNothingBerryChance.ToString(); ValidateTotal(); if (DiscordRPCHandler.Instance != null) @@ -69,6 +72,7 @@ public class PlayMenu : MonoBehaviour float speedyBerry = GetValueFrom(speedyBerryChance); float randomBerry = GetValueFrom(randomBerryChance); float antiBerry = GetValueFrom(antiBerryChance); + float goldenBerry = GetValueFrom(goldenBerryChance); float nothingBerry = GetValueFrom(nothingBerryChance); int divideBy = 0; @@ -80,9 +84,10 @@ public class PlayMenu : MonoBehaviour divideBy += speedyBerry > 0 ? 1 : 0; divideBy += randomBerry > 0 ? 1 : 0; divideBy += antiBerry > 0 ? 1 : 0; + divideBy += goldenBerry > 0 ? 1 : 0; divideBy += nothingBerry > 0 ? 1 : 0; - float addedChances = normalBerry + poisonBerry + slowBerry + ultraBerry + speedyBerry + randomBerry + antiBerry + nothingBerry; + float addedChances = normalBerry + poisonBerry + slowBerry + ultraBerry + speedyBerry + randomBerry + antiBerry + goldenBerry + nothingBerry; float difference = addedChances - 100f; if (normalBerry > 0) NormalizeOne(normalBerryChance, normalBerry, divideBy, difference); @@ -92,6 +97,7 @@ public class PlayMenu : MonoBehaviour if (speedyBerry > 0) NormalizeOne(speedyBerryChance, speedyBerry, divideBy, difference); if (randomBerry > 0) NormalizeOne(randomBerryChance, randomBerry, divideBy, difference); if (antiBerry > 0) NormalizeOne(antiBerryChance, antiBerry, divideBy, difference); + if (goldenBerry > 0) NormalizeOne(goldenBerryChance, goldenBerry, divideBy, difference); if (nothingBerry > 0) NormalizeOne(nothingBerryChance, nothingBerry, divideBy, difference); normalBerry = GetValueFrom(normalBerryChance); @@ -101,6 +107,7 @@ public class PlayMenu : MonoBehaviour speedyBerry = GetValueFrom(speedyBerryChance); randomBerry = GetValueFrom(randomBerryChance); antiBerry = GetValueFrom(antiBerryChance); + goldenBerry = GetValueFrom(goldenBerryChance); nothingBerry = GetValueFrom(nothingBerryChance); if (normalBerry > 0) normalBerry = (float)Math.Floor(normalBerry); @@ -110,9 +117,10 @@ public class PlayMenu : MonoBehaviour if (speedyBerry > 0) speedyBerry = (float)Math.Floor(speedyBerry); if (randomBerry > 0) randomBerry = (float)Math.Floor(randomBerry); if (antiBerry > 0) antiBerry = (float)Math.Floor(antiBerry); + if (goldenBerry > 0) goldenBerry = (float)Math.Floor(goldenBerry); if (nothingBerry > 0) nothingBerry = (float)Math.Floor(nothingBerry); - float addedChances2 = normalBerry + poisonBerry + slowBerry + ultraBerry + speedyBerry + randomBerry + antiBerry + nothingBerry; + float addedChances2 = normalBerry + poisonBerry + slowBerry + ultraBerry + speedyBerry + randomBerry + antiBerry + goldenBerry + nothingBerry; float difference2 = addedChances2 - 100f; bool fixedValues = false; @@ -151,6 +159,11 @@ public class PlayMenu : MonoBehaviour NormalizeTwo(antiBerryChance, fixedValues, antiBerry, difference2); fixedValues = true; } + if (goldenBerry > 0) + { + NormalizeTwo(goldenBerryChance, fixedValues, goldenBerry, difference2); + fixedValues = true; + } if (nothingBerry > 0) { NormalizeTwo(nothingBerryChance, fixedValues, nothingBerry, difference2); @@ -171,6 +184,7 @@ public class PlayMenu : MonoBehaviour customGameTempData.speedyBerryChance = GetValueFrom(speedyBerryChance); customGameTempData.randomBerryChance = GetValueFrom(randomBerryChance); customGameTempData.antiBerryChance = GetValueFrom(antiBerryChance); + customGameTempData.goldenBerryChance = GetValueFrom(goldenBerryChance); customGameTempData.nothingBerryChance = GetValueFrom(nothingBerryChance); await SceneManager.LoadSceneAsync("CustomGamePlayer"); }); @@ -189,6 +203,8 @@ public class PlayMenu : MonoBehaviour randomBerryChance.onDeselect.AddListener((value) => OnDeselect(value, randomBerryChance)); antiBerryChance.onSelect.AddListener((value) => OnSelect(value, antiBerryChance)); antiBerryChance.onDeselect.AddListener((value) => OnDeselect(value, antiBerryChance)); + goldenBerryChance.onSelect.AddListener((value) => OnSelect(value, goldenBerryChance)); + goldenBerryChance.onDeselect.AddListener((value) => OnDeselect(value, goldenBerryChance)); nothingBerryChance.onSelect.AddListener((value) => OnSelect(value, nothingBerryChance)); nothingBerryChance.onDeselect.AddListener((value) => OnDeselect(value, nothingBerryChance)); } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 4ef2ddc..413dcc5 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -12,6 +12,7 @@ TagManager: - CoinBerry - RandomBerry - AntiBerry + - GoldenBerry - NothingBerry layers: - Default