diff --git a/Pictures/Default/BlueberryProgressBar1.png b/Pictures/Default/BlueberryProgressBar1.png new file mode 100644 index 000000000..c3806ea62 Binary files /dev/null and b/Pictures/Default/BlueberryProgressBar1.png differ diff --git a/Pictures/Default/BlueberryProgressBar2.png b/Pictures/Default/BlueberryProgressBar2.png new file mode 100644 index 000000000..2f116212e Binary files /dev/null and b/Pictures/Default/BlueberryProgressBar2.png differ diff --git a/Pictures/Default/BlueberryProgressBar3.png b/Pictures/Default/BlueberryProgressBar3.png new file mode 100644 index 000000000..34bbb8cd3 Binary files /dev/null and b/Pictures/Default/BlueberryProgressBar3.png differ diff --git a/Pictures/Default/BlueberryProgressBar4.png b/Pictures/Default/BlueberryProgressBar4.png new file mode 100644 index 000000000..3aeee7a5c Binary files /dev/null and b/Pictures/Default/BlueberryProgressBar4.png differ diff --git a/Pictures/Default/ShopCashGrabUltra.png b/Pictures/Default/ShopCashGrabUltra.png new file mode 100644 index 000000000..3894c7705 Binary files /dev/null and b/Pictures/Default/ShopCashGrabUltra.png differ diff --git a/Pictures/Default/perkOneHundredThirtyOne.png b/Pictures/Default/perkOneHundredThirtyOne.png new file mode 100644 index 000000000..239ffc969 Binary files /dev/null and b/Pictures/Default/perkOneHundredThirtyOne.png differ diff --git a/Pictures/Legacy/ShopCashGrabUltra.png b/Pictures/Legacy/ShopCashGrabUltra.png new file mode 100644 index 000000000..6be50a827 Binary files /dev/null and b/Pictures/Legacy/ShopCashGrabUltra.png differ diff --git a/Pictures/Legacy/perkOneHundredThirtyOne.png b/Pictures/Legacy/perkOneHundredThirtyOne.png new file mode 100644 index 000000000..9a5baf066 Binary files /dev/null and b/Pictures/Legacy/perkOneHundredThirtyOne.png differ diff --git a/index.html b/index.html index 01f7de79f..c4f87033c 100644 --- a/index.html +++ b/index.html @@ -173,7 +173,7 @@
1
- Quark + Quark
1
@@ -3187,6 +3187,7 @@

Artists

Module- Cube-Quark 1:0

Module- Luck-Quark 1:0

Module- Quark 2:0

+

Cash Grab ULTIMATE:0

TOTAL QUARK MULTIPLIER:0

@@ -3396,6 +3398,7 @@

Artists

0

0

0

+

0

TOTAL OCTERACT MULTIPLIER: 0

@@ -3456,6 +3459,7 @@

Artists

a0

a0

a0

+

a0

Multipliers (Additive)0

TOTAL AMBROSIA LUCK: 0

@@ -3470,6 +3474,7 @@

Artists

a0

a0

a0

+

a0

BLUEBERRY TIME /S: 0

@@ -3564,7 +3569,7 @@

Artists

- +

@@ -3911,6 +3916,11 @@

Artists

+
+ The ULTIMATE Cash Grab +

+ +
diff --git a/src/BlueberryUpgrades.ts b/src/BlueberryUpgrades.ts index 7a0aa02fb..448e8e10d 100644 --- a/src/BlueberryUpgrades.ts +++ b/src/BlueberryUpgrades.ts @@ -669,11 +669,11 @@ export const blueberryUpgradeData: Record< ] }, ambrosiaObtainium1: { - maxLevel: 1, + maxLevel: 2, costPerLevel: 50000, blueberryCost: 1, costFormula: (level: number, baseCost: number): number => { - return baseCost + 0 * level + return baseCost * Math.pow(25, level) }, rewards: (n: number) => { const luck = player.caches.ambrosiaLuck.usedTotal @@ -689,11 +689,11 @@ export const blueberryUpgradeData: Record< } }, ambrosiaOffering1: { - maxLevel: 1, + maxLevel: 2, costPerLevel: 50000, blueberryCost: 1, costFormula: (level: number, baseCost: number): number => { - return baseCost + 0 * level + return baseCost * Math.pow(25, level) }, rewards: (n: number) => { const luck = player.caches.ambrosiaLuck.usedTotal @@ -709,11 +709,11 @@ export const blueberryUpgradeData: Record< } }, ambrosiaHyperflux: { - maxLevel: 5, + maxLevel: 7, costPerLevel: 33333, blueberryCost: 3, costFormula: (level: number, baseCost: number): number => { - return baseCost + 33333 * level + return (baseCost + 33333 * level) * Math.max(1, Math.pow(4, level - 4)) }, rewards: (n: number) => { const fourByFourBase = n diff --git a/src/Calculate.ts b/src/Calculate.ts index 31811490c..174791e27 100644 --- a/src/Calculate.ts +++ b/src/Calculate.ts @@ -19,6 +19,10 @@ import { Alert, Prompt } from './UpdateHTML' import { productContents, sumContents } from './Utility' import { Globals as G } from './Variables' +const CASH_GRAB_ULTRA_QUARK = 0.12 +const CASH_GRAB_ULTRA_CUBE = 0.8 +const CASH_GRAB_ULTRA_BLUEBERRY = 0.2 + export const calculateTotalCoinOwned = () => { G.totalCoinOwned = player.firstOwnedCoin + player.secondOwnedCoin @@ -1758,8 +1762,10 @@ export const calculateAllCubeMultiplier = () => { // Module - Cubes 2 +player.blueberryUpgrades.ambrosiaCubes2.bonus.cubes, // Module - Hyperflux - +player.blueberryUpgrades.ambrosiaHyperflux.bonus.hyperFlux - // Total Global Cube Multipliers: 30 + +player.blueberryUpgrades.ambrosiaHyperflux.bonus.hyperFlux, + // Cash Grab Ultra + +calculateCashGrabCubeBonus() + // Total Global Cube Multipliers: 31 ] const extraMult = G.isEvent && G.eventClicked ? 1.05 : 1 @@ -2094,7 +2100,9 @@ export const getOcteractValueMultipliers = () => { // Module- Quark-Cube 1 +player.blueberryUpgrades.ambrosiaQuarkCube1.bonus.cubes, // Module- Cubes 2 - +player.blueberryUpgrades.ambrosiaCubes2.bonus.cubes + +player.blueberryUpgrades.ambrosiaCubes2.bonus.cubes, + // Cash Grab ULTRA + +calculateCashGrabCubeBonus() ] } @@ -2429,6 +2437,7 @@ export const calculateQuarkMultiplier = () => { multiplier *= +player.blueberryUpgrades.ambrosiaCubeQuark1.bonus.quarks multiplier *= +player.blueberryUpgrades.ambrosiaLuckQuark1.bonus.quarks multiplier *= +player.blueberryUpgrades.ambrosiaQuarks2.bonus.quarks + multiplier *= calculateCashGrabQuarkBonus() if (player.highestSingularityCount === 0) { multiplier *= 1.25 @@ -3157,10 +3166,11 @@ export const calculateRequiredBlueberryTime = () => { export const calculateSingularityMilestoneBlueberries = () => { let val = 0 - if (player.highestSingularityCount >= 264) val = 4 - else if (player.highestSingularityCount >= 198) val = 3 - else if (player.highestSingularityCount >= 132) val = 2 - else if (player.highestSingularityCount >= 66) val = 1 + if (player.highestSingularityCount >= 270) val = 5 + else if (player.highestSingularityCount >= 256) val = 4 + else if (player.highestSingularityCount >= 192) val = 3 + else if (player.highestSingularityCount >= 128) val = 2 + else if (player.highestSingularityCount >= 64) val = 1 return val } @@ -3197,6 +3207,22 @@ export const calculateAmbrosiaQuarkMult = () => { return multiplier } +export const calculateCashGrabBonus = (extra: number) => { + return 1 + player.shopUpgrades.shopCashGrabUltra * extra * Math.min(1, Math.pow(player.lifetimeAmbrosia / 1e7, 1/3)) +} + +export const calculateCashGrabBlueberryBonus = () => { + return calculateCashGrabBonus(CASH_GRAB_ULTRA_BLUEBERRY) +} + +export const calculateCashGrabCubeBonus = () => { + return calculateCashGrabBonus(CASH_GRAB_ULTRA_CUBE) +} + +export const calculateCashGrabQuarkBonus = () => { + return calculateCashGrabBonus(CASH_GRAB_ULTRA_QUARK) +} + export const calculateDilatedFiveLeafBonus = () => { const singThresholds = [100, 200, 250, 260, 266] for (let i = 0; i < singThresholds.length; i++) { diff --git a/src/CheckVariables.ts b/src/CheckVariables.ts index d971d0bdc..706fb514b 100644 --- a/src/CheckVariables.ts +++ b/src/CheckVariables.ts @@ -1040,7 +1040,8 @@ export const checkVariablesOnLoad = (data: PlayerSave) => { shopAmbrosiaLuck1: 0, shopAmbrosiaLuck2: 0, shopAmbrosiaLuck3: 0, - shopAmbrosiaLuck4: 0 + shopAmbrosiaLuck4: 0, + shopCashGrabUltra: 0, } player.worlds.add( diff --git a/src/Config.ts b/src/Config.ts index 40bac8dd9..2eca2d880 100644 --- a/src/Config.ts +++ b/src/Config.ts @@ -1,4 +1,4 @@ -export const version = '3.0.0 pt 4: March 9, 2024: EXALTed Upgrades' +export const version = '3.0.0 pt 4.1: April 1: Unsmith III' /** * PSEUDO DO NOT CHANGE THIS LINE diff --git a/src/Shop.ts b/src/Shop.ts index 89d630cb1..6040255a4 100644 --- a/src/Shop.ts +++ b/src/Shop.ts @@ -1,6 +1,6 @@ import i18next from 'i18next' import { DOMCacheGetOrSet } from './Cache/DOM' -import { calculatePowderConversion, calculateSummationNonLinear, calculateTimeAcceleration } from './Calculate' +import { calculateCashGrabBlueberryBonus, calculateCashGrabCubeBonus, calculateCashGrabQuarkBonus, calculatePowderConversion, calculateSummationNonLinear, calculateTimeAcceleration } from './Calculate' import type { IMultiBuy } from './Cubes' import { format, player } from './Synergism' import type { Player } from './types/Synergism' @@ -25,6 +25,7 @@ type shopResetTier = | 'Exalt2' | 'Exalt3' | 'Exalt4' + | 'Exalt1x30' export interface IShopData { price: number @@ -183,8 +184,8 @@ export const shopData: Record = { }, seasonPass2: { tier: 'Ascension', - price: 2500, - priceIncrease: 250, + price: 2000, + priceIncrease: 200, maxLevel: 100, type: shopUpgradeTypes.UPGRADE, refundable: true, @@ -201,8 +202,8 @@ export const shopData: Record = { }, chronometer: { tier: 'Ascension', - price: 2000, - priceIncrease: 500, + price: 1600, + priceIncrease: 400, maxLevel: 100, type: shopUpgradeTypes.UPGRADE, refundable: true, @@ -210,7 +211,7 @@ export const shopData: Record = { }, infiniteAscent: { tier: 'Ascension', - price: 50000, + price: 25000, priceIncrease: 9999999, maxLevel: 1, type: shopUpgradeTypes.UPGRADE, @@ -219,8 +220,8 @@ export const shopData: Record = { }, calculator: { tier: 'Reincarnation', - price: 1000, - priceIncrease: 500, + price: 500, + priceIncrease: 300, maxLevel: 5, type: shopUpgradeTypes.UPGRADE, refundable: false, @@ -228,8 +229,8 @@ export const shopData: Record = { }, calculator2: { tier: 'Ascension', - price: 3000, - priceIncrease: 1000, + price: 2500, + priceIncrease: 800, maxLevel: 12, type: shopUpgradeTypes.UPGRADE, refundable: false, @@ -237,8 +238,8 @@ export const shopData: Record = { }, calculator3: { tier: 'Ascension', - price: 10000, - priceIncrease: 2000, + price: 7500, + priceIncrease: 1500, maxLevel: 10, type: shopUpgradeTypes.UPGRADE, refundable: false, @@ -657,6 +658,15 @@ export const shopData: Record = { type: shopUpgradeTypes.UPGRADE, refundable: false, refundMinimumLevel: 0 + }, + shopCashGrabUltra: { + tier: 'Exalt1x30', + price: 1, + priceIncrease: 1.5e22, + maxLevel: 3, + type: shopUpgradeTypes.UPGRADE, + refundable: false, + refundMinimumLevel: 0, } } @@ -732,6 +742,7 @@ type ShopUpgradeNames = | 'shopAmbrosiaLuck2' | 'shopAmbrosiaLuck3' | 'shopAmbrosiaLuck4' + | 'shopCashGrabUltra' export const getShopCosts = (input: ShopUpgradeNames) => { if ( @@ -1205,6 +1216,13 @@ export const shopDescriptions = (input: ShopUpgradeNames) => { ) }) break + case 'shopCashGrabUltra': + lol.innerHTML = i18next.t('shop.upgradeEffects.shopCashGrabUltra', { + amount: format(100 * (calculateCashGrabBlueberryBonus() - 1), 2, true), + amount2: format(100 * (calculateCashGrabCubeBonus() - 1), 2, true), + amount3: format(100 * (calculateCashGrabQuarkBonus() - 1), 2, true) + }) + break } } @@ -1280,7 +1298,8 @@ export const friendlyShopName = (input: ShopUpgradeNames) => { shopAmbrosiaLuck1: 'Ambrosia Luck Increaser', shopAmbrosiaLuck2: 'Another Ambrosia Luck Increaser', shopAmbrosiaLuck3: 'A better Ambrosia Generation Speedup', - shopAmbrosiaLuck4: 'A FINAL Ambrosia Generation Speedup' + shopAmbrosiaLuck4: 'A FINAL Ambrosia Generation Speedup', + shopCashGrabUltra: 'It\'s the FINAL CASHGRAB!' } return names[input] @@ -1773,5 +1792,7 @@ export const isShopUpgradeUnlocked = (upgrade: ShopUpgradeNames): boolean => { return Boolean(player.singularityUpgrades.wowPass4.getEffect().bonus) case 'shopAmbrosiaLuck4': return Boolean(player.singularityUpgrades.wowPass4.getEffect().bonus) + case 'shopCashGrabUltra': + return Boolean(player.singularityChallenges.noSingularityUpgrades.rewards.shopUpgrade2) } } diff --git a/src/SingularityChallenges.ts b/src/SingularityChallenges.ts index 18b673390..3045382f9 100644 --- a/src/SingularityChallenges.ts +++ b/src/SingularityChallenges.ts @@ -262,7 +262,8 @@ export const singularityChallengeData: Record< goldenQuarks: 1 + 0.12 * +(n > 0), blueberries: +(n > 0), shopUpgrade: n >= 20, - luckBonus: n >= 30 ? 0.04 : 0 + luckBonus: n >= 30 ? 0.04 : 0, + shopUpgrade2: n >= 30 } }, cacheUpdates: [ diff --git a/src/StatCache.ts b/src/StatCache.ts index f35adef5d..a258b655c 100644 --- a/src/StatCache.ts +++ b/src/StatCache.ts @@ -3,6 +3,7 @@ import { calculateAmbrosiaGenerationSingularityUpgrade, calculateAmbrosiaLuckOcteractUpgrade, calculateAmbrosiaLuckSingularityUpgrade, + calculateCashGrabBlueberryBonus, calculateDilatedFiveLeafBonus, calculateEventBuff, calculateSingularityMilestoneBlueberries @@ -141,6 +142,7 @@ type AmbrosialLuck = | 'BlueberryUpgrade2' | 'ShopOcteractAmbrosiaLuck' | 'TwoHundredSixtyNine' + | 'OneHundredThirtyOne' type AmbrosiaGeneration = | 'DefaultVal' @@ -150,6 +152,7 @@ type AmbrosiaGeneration = | 'Event' | 'OcteractBerries' | 'BlueberryPatreon' + | 'CashGrabUltra' type BlueberryInventory = 'Exalt1' | 'SingularityUpgrade' | 'SingularityPerk' @@ -217,6 +220,7 @@ export class AmbrosiaLuckCache extends AdditionCache { BlueberryUpgrade2: 0, BlueberryCubeLuck1: 0, BlueberryQuarkLuck1: 0, + OneHundredThirtyOne: 0, TwoHundredSixtyNine: 0, ShopOcteractAmbrosiaLuck: 0, Event: 0 @@ -260,6 +264,10 @@ export class AmbrosiaLuckCache extends AdditionCache { this.vals[key] = +player.blueberryUpgrades.ambrosiaQuarkLuck1.bonus.ambrosiaLuck break } + case 'OneHundredThirtyOne': { + this.vals[key] = player.highestSingularityCount >= 131 ? 131 : 0 + break + } case 'TwoHundredSixtyNine': { this.vals[key] = player.highestSingularityCount >= 269 ? 269 : 0 break @@ -297,6 +305,7 @@ export class AmbrosiaGenerationCache extends MultiplicationCache { true ) }` + DOMCacheGetOrSet('sGQM31').textContent = `x${format(calculateCashGrabQuarkBonus(), 3, true)}` DOMCacheGetOrSet('sGQMT').textContent = `x${ format( player.worlds.applyBonus(1), @@ -729,7 +731,8 @@ export const loadStatisticsCubeMultipliers = () => { 28: { acc: 2, desc: 'Module- Luck-Cube 1' }, 29: { acc: 2, desc: 'Module- Quark-Cube 1' }, 30: { acc: 2, desc: 'Module- Cubes 2' }, - 31: { acc: 2, desc: 'Module- Hyperflux' } + 31: { acc: 2, desc: 'Module- Hyperflux' }, + 32: { acc: 2, desc: 'Cash Grab ULTIMATE'} } for (let i = 0; i < arr0.length; i++) { const statGCMi = DOMCacheGetOrSet(`statGCM${i + 1}`) @@ -952,7 +955,8 @@ export const loadStatisticsCubeMultipliers = () => { 29: { acc: 2, desc: 'Module- Luck-Cube 1' }, 30: { acc: 2, desc: 'Module- Quark-Cube 1' }, 31: { acc: 2, desc: 'Module- Cubes 2' }, - 32: { acc: 2, desc: ascensionSpeedDesc } + 32: { acc: 2, desc: 'Cash Grab ULTIMATE'}, + 33: { acc: 2, desc: ascensionSpeedDesc } } for (let i = 0; i < octMults.list.length; i++) { const statOcMi = DOMCacheGetOrSet(`statOcM${i + 1}`) @@ -1271,9 +1275,10 @@ export const loadStatisticsAmbrosiaLuck = () => { 6: { acc: 1, desc: 'Ambrosia Luck Module II' }, 7: { acc: 2, desc: 'Ambrosia Cube-Luck Hybrid Module I' }, 8: { acc: 2, desc: 'Ambrosia Quark-Luck Hybrid Module I' }, - 9: { acc: 0, desc: 'Perk: Two Hundred Sixty Nine!' }, - 10: { acc: 0, desc: 'Shop: Octeract-Based Ambrosia Luck' }, - 11: { acc: 1, desc: 'Event Bonus' } + 9: { acc: 0, desc: 'Perk: One Hundred Thirty One!' }, + 10: { acc: 0, desc: 'Perk: Two Hundred Sixty Nine!' }, + 11: { acc: 0, desc: 'Shop: Octeract-Based Ambrosia Luck' }, + 12: { acc: 1, desc: 'Event Bonus' } } for (let i = 0; i < arr.length - 1; i++) { const statALuckMi = DOMCacheGetOrSet(`statALuckM${i + 1}`) @@ -1310,7 +1315,8 @@ export const loadStatisticsAmbrosiaGeneration = () => { 4: { acc: 4, desc: 'Singularity Ambrosia Generation Upgrades' }, 5: { acc: 4, desc: 'Octeract Ambrosia Generation Upgrades' }, 6: { acc: 4, desc: 'Patreon Bonus' }, - 7: { acc: 4, desc: 'Event Bonus' } + 7: { acc: 4, desc: 'Cash-Grab ULTIMATE' }, + 8: { acc: 4, desc: 'Event Bonus'} } for (let i = 0; i < arr.length - 1; i++) { const statAGenMi = DOMCacheGetOrSet(`statAGenM${i + 1}`) diff --git a/src/Synergism.ts b/src/Synergism.ts index 899b97bc7..fc7f56b6d 100644 --- a/src/Synergism.ts +++ b/src/Synergism.ts @@ -611,7 +611,8 @@ export const player: Player = { shopAmbrosiaLuck1: 0, shopAmbrosiaLuck2: 0, shopAmbrosiaLuck3: 0, - shopAmbrosiaLuck4: 0 + shopAmbrosiaLuck4: 0, + shopCashGrabUltra: 0, }, shopBuyMaxToggle: false, shopHideToggle: false, diff --git a/src/singularity.ts b/src/singularity.ts index e5aa3b2cb..fd4b053c1 100644 --- a/src/singularity.ts +++ b/src/singularity.ts @@ -96,7 +96,7 @@ export const updateSingularityPenalties = (): void => { ${platonic} ${hepteract} ${ - singularityCount >= 230 + singularityCount >= 270 ? i18next.t('singularity.penalties.penaltySmooth') : i18next.t('singularity.penalties.penaltyRough', { num: format( @@ -2033,7 +2033,7 @@ export const singularityPerks: SingularityPerk[] = [ name: () => { return i18next.t('singularity.perkNames.congealedblueberries') }, - levels: [66, 132, 198, 264], + levels: [64, 128, 192, 256, 270], description (n, levels) { for (let i = levels.length - 1; i >= 0; i--) { if (n >= levels[i]) { @@ -2134,6 +2134,16 @@ export const singularityPerks: SingularityPerk[] = [ }, ID: 'platSigma' }, + { + name: () => { + return i18next.t('singularity.perkNames.oneHundredThirtyOne') + }, + levels: [131], + description: () => { + return i18next.t('singularity.perks.oneHundredThirtyOne') + }, + ID: 'oneHundredThirtyOne' + }, { name: () => { return i18next.t('singularity.perkNames.irishAnt2') @@ -2553,6 +2563,10 @@ export const calculateEffectiveSingularities = ( if (singularityCount > 230) { effectiveSingularities *= 2 } + if (singularityCount > 269) { + effectiveSingularities *= 3 + effectiveSingularities *= Math.pow(3, singularityCount - 269) + } return effectiveSingularities } @@ -2560,7 +2574,7 @@ export const calculateEffectiveSingularities = ( export const calculateNextSpike = ( singularityCount: number = player.singularityCount ): number => { - const singularityPenaltyThreshold = [11, 26, 37, 51, 101, 151, 201, 216, 230] + const singularityPenaltyThreshold = [11, 26, 37, 51, 101, 151, 201, 216, 230, 270] let penaltyDebuff = 0 penaltyDebuff += player.shopUpgrades.shopSingularityPenaltyDebuff diff --git a/src/types/Synergism.d.ts b/src/types/Synergism.d.ts index 575543c7b..291206eb1 100644 --- a/src/types/Synergism.d.ts +++ b/src/types/Synergism.d.ts @@ -398,6 +398,7 @@ export interface Player { shopAmbrosiaLuck2: number shopAmbrosiaLuck3: number shopAmbrosiaLuck4: number + shopCashGrabUltra: number } shopConfirmationToggle: boolean shopBuyMaxToggle: boolean | 'TEN' | 'ANY' diff --git a/translations/en.json b/translations/en.json index 466071770..d6204dc91 100644 --- a/translations/en.json +++ b/translations/en.json @@ -1427,7 +1427,8 @@ "shopAmbrosiaLuck3": "You get a slightly greener four leaf clover, giving +2 ☘ Ambrosia luck per level, stacking additively.", "shopAmbrosiaLuck4": "You get a slightly 'better' four leaf clover, what ever that means, giving +0.6 ☘ Ambrosia luck per level, stacking additively.", "shopAmbrosiaLuckMultiplier4": "Gain ☘ +1% Ambrosia Luck per level! Simple as that.", - "shopOcteractAmbrosiaLuck": "Gain ☘ +1 Ambrosia Luck per digit in your Wow! Octeract inventory per level. Simple as that." + "shopOcteractAmbrosiaLuck": "Gain ☘ +1 Ambrosia Luck per digit in your Wow! Octeract inventory per level. Simple as that.", + "shopCashGrabUltra": "For a nominal price, gain up to +20% Blueberry Speed, +80% Cubes and +12% Quarks per level based on Ambrosia, scaling nonlinearly until 10,000,000 lifetime earned." }, "maxed": "Maxed!", "upgradeFor": "Upgrade for {{x}} Quarks", @@ -1435,7 +1436,7 @@ "consume": "CONSUME", "buyYerPotions": "Buy Yer' Potions!", "header": "Welcome to the Quark Shop. You can't believe what's in stock!", - "youHaveQuarks": "You have {{x}} Quarks!", + "youHaveQuarks": "You have {{x}} Unsmiths!", "cannotRefund": "This item CANNOT be refunded! Take caution.", "resetPermShop": "Reset Perm Shop [Cost: 15 Quarks]", "shopConfirmationOn": "Shop Confirmations: ON", @@ -1519,7 +1520,8 @@ "shopAmbrosiaLuck1": "Ambrosia Luck <>", "shopAmbrosiaLuck2": "Ambrosia Luck <>", "shopAmbrosiaLuck3": "Ambrosia Luck <>", - "shopAmbrosiaLuck4": "Ambrosia Luck <>" + "shopAmbrosiaLuck4": "Ambrosia Luck <>", + "shopCashGrabUltra": "Blueberry Generation is <> faster. Also, Cubes <>! Finally, Quarks <>!" } }, "singularity": { @@ -1649,6 +1651,7 @@ }, "skrauQ": "Multiply all Quark Gain by ((Singularity - 179)/20)^2. Currently: {{amt}}... Yes, it's that good.", "derpSmithsCornucopia": "With blessing from the Derpsmith, every singularity grants +{{counter}}% more Octeracts!", + "oneHundredThirtyOne": "Gain <> Ambrosia Luck!", "twoHundredSixtyNine": "Gain <> Ambrosia Luck!" }, "toString": { @@ -2088,7 +2091,8 @@ "octeractMetagenesis": "Octeract Metagenesis", "immaculateAlchemy": "Immaculate Alchemy", "skrauQ": "skrauQ", - "twoHundredSixtyNine": "Two Hundred and Sixty Nine!" + "twoHundredSixtyNine": "Two Hundred and Sixty Nine!", + "oneHundredThirtyOne": "One Hundred and Thirty One!" } }, "general": { @@ -3066,7 +3070,7 @@ "noSingularityUpgrades": { "name": "No Singularity Upgrades", "description": "Simply put, you have to beat the target singularity without (most) Singularity Upgrades. Octeracts, Perks and Quality of Life Singularity Upgrades are preserved.", - "rewardDescription": "Each completion increases cube gain of every dimension by 50%! First completion gives +12% Golden Quarks and a Blueberry! 20th awards exclusive shop upgrade! 30th awards +4% Ambrosia Luck for free!" + "rewardDescription": "Each completion increases cube gain of every dimension by 50%! First completion gives +12% Golden Quarks and a Blueberry! 20th awards exclusive shop upgrade! 30th awards +6% Ambrosia Luck for free, and another exclusive shop upgrade for NOT FREE!" }, "oneChallengeCap": { "name": "One Challenge Caps",