Skip to content

Commit e49ec07

Browse files
committed
stop tracking sub cost client-side
1 parent b4262a2 commit e49ec07

7 files changed

Lines changed: 17 additions & 27 deletions

File tree

src/Calculate.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1652,7 +1652,6 @@ export const calculateBaseGoldenQuarks = (singularity: number) => {
16521652
return Math.floor(minimumValue + contributionFromQuarks + firstTenBonus)
16531653
}
16541654

1655-
16561655
export const calculateSingularityAmbrosiaLuckMilestoneBonus = () => {
16571656
let bonus = 0
16581657
const singThresholds1 = [35, 42, 49, 56, 63, 70, 77]

src/Runes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1016,7 +1016,7 @@ export const sacrificeOfferings = (rune: RuneKeys, budget: Decimal, auto = false
10161016
levelsToAdd = 20 * player.shopUpgrades.offeringAuto
10171017
levelsToAdd *= getLevelMilestone('runeAutobuyImprover')
10181018
if (player.cubeUpgrades[20] > 0) {
1019-
levelsToAdd *= 20
1019+
levelsToAdd *= 20
10201020
}
10211021
}
10221022

src/Shop.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,7 @@ export const shopData: Record<keyof Player['shopUpgrades'], IShopData> = {
808808
}
809809

810810
export const updateShopLevels = () => {
811-
for (const upgrade in player.shopUpgrades){
811+
for (const upgrade in player.shopUpgrades) {
812812
const k = upgrade as keyof Player['shopUpgrades']
813813
player.shopUpgrades[k] = Math.min(player.shopUpgrades[k], shopData[k].maxLevel)
814814
}

src/Statistics.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2269,8 +2269,7 @@ export const allPowderMultiplierStats: NumberStatLine[] = [
22692269
export const allGoldenQuarkMultiplierStats: NumberStatLine[] = [
22702270
{
22712271
i18n: 'Base',
2272-
stat: () =>
2273-
calculateBaseGoldenQuarks(player.singularityCount) // Base Golden Quarks based on Quarks and Sing Count
2272+
stat: () => calculateBaseGoldenQuarks(player.singularityCount) // Base Golden Quarks based on Quarks and Sing Count
22742273
},
22752274
{
22762275
i18n: 'PseudoCoins',

src/Synergism.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ import {
230230
} from './RuneSpirits'
231231
import { playerJsonSchema } from './saves/PlayerJsonSchema'
232232
import { playerUpdateVarSchema } from './saves/PlayerUpdateVarSchema'
233+
import { updateShopLevels } from './Shop'
233234
import {
234235
blankGQLevelObject,
235236
calculateMaxSingularityLookahead,
@@ -244,7 +245,6 @@ import {
244245
import { changeSubTab, changeTab, getActiveSubTab, Tabs } from './Tabs'
245246
import { settingAnnotation, settingSymbols, toggleIconSet, toggleTheme } from './Themes'
246247
import { clearTimeout, clearTimers, setInterval, setTimeout } from './Timers'
247-
import { updateShopLevels } from './Shop'
248248

249249
export const player: Player = {
250250
firstPlayed: new Date().toISOString(),

src/purchases/CartTab.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ interface BaseProduct {
2222
export interface SubscriptionProduct extends BaseProduct {
2323
subscription: true
2424
quarkBonus: number
25+
tier: number
2526
}
2627

2728
export interface RegularProduct extends BaseProduct {

src/purchases/SubscriptionsSubtab.ts

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,18 @@ const formatter = Intl.NumberFormat('en-US', {
1414
currency: 'USD'
1515
})
1616

17-
const tierCosts = [0, 300, 600, 1000, 2000]
18-
1917
async function changeSubscription (productId: string, type: 'upgrade' | 'downgrade') {
20-
const tier = upgradeResponse.tier
21-
const existingCosts = tierCosts[tier] ?? 0
2218
const newSub = subscriptionProducts.find((v) => v.id === productId)
2319
const newSubPrice = newSub!.price
2420
const newSubName = newSub!.name
2521
const confirm = (type === 'downgrade')
2622
? await Confirm(
2723
`You are downgrading to ${newSubName}, which costs ${
28-
formatter.format((existingCosts - newSubPrice) / 100)
29-
} less per month. New cost: ${
3024
formatter.format(newSubPrice / 100)
3125
} per month. Downgrading takes effect immediately!`
3226
)
3327
: await Confirm(
34-
`You are upgrading to ${newSubName}, which costs ${
35-
formatter.format((newSubPrice - existingCosts) / 100)
36-
} more per month. New cost: ${formatter.format(newSubPrice / 100)} per month`
28+
`You are upgrading to ${newSubName}, which costs ${formatter.format(newSubPrice / 100)} per month`
3729
)
3830

3931
if (!confirm) {
@@ -93,11 +85,11 @@ const constructDescriptions = ({ description, quarkBonus }: SubscriptionProduct)
9385
`
9486
}
9587

96-
export const createIndividualSubscriptionHTML = (product: SubscriptionProduct, existingCosts: number) => {
97-
if (product.price < existingCosts) {
88+
export const createIndividualSubscriptionHTML = (product: SubscriptionProduct, currentSubTier: number) => {
89+
if (product.tier < currentSubTier) {
9890
return `
9991
<section class="subscriptionContainer" key="${product.id}">
100-
<div>
92+
<div>
10193
<img class="pseudoCoinSubImage" alt="${product.name}" src="./Pictures/${product.id}.png" />
10294
<p class="pseudoCoinText">
10395
${product.name.split(' - ').join('<br>')}
@@ -109,13 +101,13 @@ export const createIndividualSubscriptionHTML = (product: SubscriptionProduct, e
109101
Downgrade!
110102
</button>
111103
<div class="checkout-paypal" data-id="${product.id}"></div>
112-
</div>
104+
</div>
113105
</section>
114106
`
115-
} else if (product.price === existingCosts) {
107+
} else if (product.tier === currentSubTier) {
116108
return `
117109
<section class="subscriptionContainer" key="${product.id}">
118-
<div>
110+
<div>
119111
<img class="pseudoCoinSubImage" alt="${product.name}" src="./Pictures/${product.id}.png" />
120112
<p class="pseudoCoinText">
121113
${product.name.split(' - ').join('<br>')}
@@ -127,13 +119,13 @@ export const createIndividualSubscriptionHTML = (product: SubscriptionProduct, e
127119
You are here!
128120
</button>
129121
<div class="checkout-paypal" data-id="${product.id}"></div>
130-
</div>
122+
</div>
131123
</section>
132124
`
133125
} else {
134126
return `
135127
<section class="subscriptionContainer" key="${product.id}">
136-
<div>
128+
<div>
137129
<img class="pseudoCoinSubImage" alt="${product.name}" src="./Pictures/${product.id}.png" />
138130
<p class="pseudoCoinText">
139131
${product.name.split(' - ').join('<br>')}
@@ -142,10 +134,10 @@ export const createIndividualSubscriptionHTML = (product: SubscriptionProduct, e
142134
${constructDescriptions(product)}
143135
</p>
144136
<button data-id="${product.id}" data-name="${product.name}" data-upgrade class="pseudoCoinButton">
145-
Upgrade for ${formatter.format((product.price - existingCosts) / 100)} USD / mo
137+
Upgrade for ${formatter.format(product.price / 100)} USD / mo
146138
</button>
147139
<!--<div class="checkout-paypal" data-id="${product.id}"></div>-->
148-
</div>
140+
</div>
149141
</section>
150142
`
151143
}
@@ -168,10 +160,9 @@ export const initializeSubscriptionPage = memoize(() => {
168160
}
169161

170162
const tier = upgradeResponse.tier
171-
const existingCosts = tierCosts[tier] ?? 0
172163

173164
subscriptionSectionHolder.innerHTML = subscriptionProducts.map((product) =>
174-
createIndividualSubscriptionHTML(product, existingCosts)
165+
createIndividualSubscriptionHTML(product, tier)
175166
).join('')
176167

177168
subscriptionSectionHolder!.style.display = 'grid'

0 commit comments

Comments
 (0)