Skip to content

Commit

Permalink
April 1st Update Yeah!
Browse files Browse the repository at this point in the history
  • Loading branch information
Pseudonian committed Apr 2, 2024
1 parent eff33e2 commit 42e8ae0
Show file tree
Hide file tree
Showing 21 changed files with 144 additions and 46 deletions.
Binary file added Pictures/Default/BlueberryProgressBar1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Default/BlueberryProgressBar2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Default/BlueberryProgressBar3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Default/BlueberryProgressBar4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Default/ShopCashGrabUltra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Default/perkOneHundredThirtyOne.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Legacy/ShopCashGrabUltra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Legacy/perkOneHundredThirtyOne.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 12 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
<div class="prestigeunlock statDisplay" id="offeringDisplay">1</div>
</div>
<div class="currencyContainer">
<img class="img quark" src="Pictures/Default/Quark.png" alt="Quark" title="Quark" loading="lazy">
<img class="img quark" src="Pictures/Default/Unsmith.png" alt="Quark" title="Quark" loading="lazy">
<div class="statDisplay" id="quarkDisplay">1</div>
</div>
<div class="currencyContainer">
Expand Down Expand Up @@ -3187,6 +3187,7 @@ <h1>Artists</h1>
<p id="statGQM28" class="statPortion singularity">Module- Cube-Quark 1:<span id="sGQM28" class="statNumber">0</span></p>
<p id="statGQM29" class="statPortion singularity">Module- Luck-Quark 1:<span id="sGQM29" class="statNumber">0</span></p>
<p id="statGQM30" class="statPortion singularity">Module- Quark 2:<span id="sGQM30" class="statNumber">0</span></p>
<p id="statGQM31" class="statPortion singularity">Cash Grab ULTIMATE:<span id="sGQM31" class="statNumber">0</span></p>
<p id ="statGQMT" class="statPortion statTotal" style="color: white">TOTAL QUARK MULTIPLIER:<span id="sGQMT" class="statNumber statTotal">0</span></p>
</div>
<div id="ascensionSpeedMultiplierStats" class="statContainer" style="display: none;">
Expand Down Expand Up @@ -3247,6 +3248,7 @@ <h1>Artists</h1>
<p id="statGCM29" class="statPortion">-<span id="sGCM29" class="statNumber">-</span></p>
<p id="statGCM30" class="statPortion">-<span id="sGCM30" class="statNumber">-</span></p>
<p id="statGCM31" class="statPortion">-<span id="sGCM31" class="statNumber">-</span></p>
<p id="statGCM32" class="statPortion">-<span id="sGCM32" class="statNumber">-</span></p>
<p id="statGCMT" class="statPortion statTotal" style="color: orange">TOTAL GLOBAL CUBE MULTIPLIER: <span
id="sGCMT" class="statNumber statTotal">0</span></p>
</div>
Expand Down Expand Up @@ -3396,6 +3398,7 @@ <h1>Artists</h1>
<p id="statOcM30" class="statPortion singularity"> <span id="sOcM30" class="statNumber">0</span></p>
<p id="statOcM31" class="statPortion singularity"> <span id="sOcM31" class="statNumber">0</span></p>
<p id="statOcM32" class="statPortion singularity"> <span id="sOcM32" class="statNumber">0</span></p>
<p id="statOcM33" class="statPortion singularity"> <span id="sOcM33" class="statNumber">0</span></p>
<p id="statOcMT" class="statPortion statTotal" style="color: orange">TOTAL OCTERACT MULTIPLIER: <span
id="sOcMT" class="statNumber statTotal">0</span></p>
</div>
Expand Down Expand Up @@ -3456,6 +3459,7 @@ <h1>Artists</h1>
<p id="statALuckM9" class="statPortion">a<span id="sALuckM9" class="statNumber">0</span></p>
<p id="statALuckM10" class="statPortion">a<span id="sALuckM10" class="statNumber">0</span></p>
<p id="statALuckM11" class="statPortion">a<span id="sALuckM11" class="statNumber">0</span></p>
<p id="statALuckM12" class="statPortion">a<span id="sALuckM12" class="statNumber">0</span></p>
<p id="statALuckMult" class="statPortion">Multipliers (Additive)<span id="sALuckMult" class="statNumber">0</span></p>
<p id="statALuckMT" class="statPortion statTotal" style="color: orange">TOTAL AMBROSIA LUCK:
<span id="sALuckMT" class="statNumber statTotal">0</span></p>
Expand All @@ -3470,6 +3474,7 @@ <h1>Artists</h1>
<p id="statAGenM5" class="statPortion">a<span id="sAGenM5" class="statNumber">0</span></p>
<p id="statAGenM6" class="statPortion">a<span id="sAGenM6" class="statNumber">0</span></p>
<p id="statAGenM7" class="statPortion">a<span id="sAGenM7" class="statNumber">0</span></p>
<p id="statAGenM8" class="statPortion">a<span id="sAGenM8" class="statNumber">0</span></p>
<p id="statAGenMT" class="statPortion statTotal" style="color: orange">BLUEBERRY TIME /S:
<span id="sAGenMT" class="statNumber statTotal">0</span></p>
</div>
Expand Down Expand Up @@ -3564,7 +3569,7 @@ <h1>Artists</h1>
</div>
</div>
<div id="quarksDisplay">
<img src="Pictures/Default/Quark.png" width="32" height="32" loading="lazy">
<img src="Pictures/Default/Unsmith.png" width="32" height="32" loading="lazy">
<p id="quarkamount"></p>
</div>
</div>
Expand Down Expand Up @@ -3911,6 +3916,11 @@ <h1>Artists</h1>
<p id="shopAmbrosiaLuck4Level"></p>
<button class="permshopbutton" id="shopAmbrosiaLuck4Button" style="border: 2px solid limegreen"></button>
</div>
<div class="exalt1X30Unlock" id="shopCashGrabUltraHide">
<img id="shopCashGrabUltra" alt="The ULTIMATE Cash Grab" src="Pictures/Default/ShopCashGrabUltra.png" loading="lazy">
<p id="shopCashGrabUltraLevel"></p>
<button class="permshopbutton" id="shopCashGrabUltraButton" style="border: 2px solid gold"></button>
</div>
</div>
<div id="shopButtons">
<button id="resetShopUpgrades" style="border: 2px solid orangered; color: white" i18n="shop.resetPermShop"></button>
Expand Down
12 changes: 6 additions & 6 deletions src/BlueberryUpgrades.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
40 changes: 33 additions & 7 deletions src/Calculate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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()
]
}

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
}
Expand Down Expand Up @@ -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++) {
Expand Down
3 changes: 2 additions & 1 deletion src/CheckVariables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1040,7 +1040,8 @@ export const checkVariablesOnLoad = (data: PlayerSave) => {
shopAmbrosiaLuck1: 0,
shopAmbrosiaLuck2: 0,
shopAmbrosiaLuck3: 0,
shopAmbrosiaLuck4: 0
shopAmbrosiaLuck4: 0,
shopCashGrabUltra: 0,
}

player.worlds.add(
Expand Down
2 changes: 1 addition & 1 deletion src/Config.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
47 changes: 34 additions & 13 deletions src/Shop.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand All @@ -25,6 +25,7 @@ type shopResetTier =
| 'Exalt2'
| 'Exalt3'
| 'Exalt4'
| 'Exalt1x30'

export interface IShopData {
price: number
Expand Down Expand Up @@ -183,8 +184,8 @@ export const shopData: Record<keyof Player['shopUpgrades'], IShopData> = {
},
seasonPass2: {
tier: 'Ascension',
price: 2500,
priceIncrease: 250,
price: 2000,
priceIncrease: 200,
maxLevel: 100,
type: shopUpgradeTypes.UPGRADE,
refundable: true,
Expand All @@ -201,16 +202,16 @@ export const shopData: Record<keyof Player['shopUpgrades'], IShopData> = {
},
chronometer: {
tier: 'Ascension',
price: 2000,
priceIncrease: 500,
price: 1600,
priceIncrease: 400,
maxLevel: 100,
type: shopUpgradeTypes.UPGRADE,
refundable: true,
refundMinimumLevel: 0
},
infiniteAscent: {
tier: 'Ascension',
price: 50000,
price: 25000,
priceIncrease: 9999999,
maxLevel: 1,
type: shopUpgradeTypes.UPGRADE,
Expand All @@ -219,26 +220,26 @@ export const shopData: Record<keyof Player['shopUpgrades'], IShopData> = {
},
calculator: {
tier: 'Reincarnation',
price: 1000,
priceIncrease: 500,
price: 500,
priceIncrease: 300,
maxLevel: 5,
type: shopUpgradeTypes.UPGRADE,
refundable: false,
refundMinimumLevel: 1
},
calculator2: {
tier: 'Ascension',
price: 3000,
priceIncrease: 1000,
price: 2500,
priceIncrease: 800,
maxLevel: 12,
type: shopUpgradeTypes.UPGRADE,
refundable: false,
refundMinimumLevel: 0
},
calculator3: {
tier: 'Ascension',
price: 10000,
priceIncrease: 2000,
price: 7500,
priceIncrease: 1500,
maxLevel: 10,
type: shopUpgradeTypes.UPGRADE,
refundable: false,
Expand Down Expand Up @@ -657,6 +658,15 @@ export const shopData: Record<keyof Player['shopUpgrades'], IShopData> = {
type: shopUpgradeTypes.UPGRADE,
refundable: false,
refundMinimumLevel: 0
},
shopCashGrabUltra: {
tier: 'Exalt1x30',
price: 1,
priceIncrease: 1.5e22,
maxLevel: 3,
type: shopUpgradeTypes.UPGRADE,
refundable: false,
refundMinimumLevel: 0,
}
}

Expand Down Expand Up @@ -732,6 +742,7 @@ type ShopUpgradeNames =
| 'shopAmbrosiaLuck2'
| 'shopAmbrosiaLuck3'
| 'shopAmbrosiaLuck4'
| 'shopCashGrabUltra'

export const getShopCosts = (input: ShopUpgradeNames) => {
if (
Expand Down Expand Up @@ -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
}
}

Expand Down Expand Up @@ -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]
Expand Down Expand Up @@ -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)
}
}
3 changes: 2 additions & 1 deletion src/SingularityChallenges.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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: [
Expand Down
Loading

0 comments on commit 42e8ae0

Please sign in to comment.