Skip to content

Commit

Permalink
fixup! fix shitty bonus code
Browse files Browse the repository at this point in the history
  • Loading branch information
KhafraDev committed Jul 3, 2024
1 parent 50646bf commit ded3616
Show file tree
Hide file tree
Showing 9 changed files with 24 additions and 25 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"lint:fix": "npx @biomejs/biome lint --apply .",
"lint:fix-unsafe": "npx @biomejs/biome lint --apply-unsafe .",
"fmt": "npx dprint fmt",
"format": "npx dprint fmt",
"csslint": "npx stylelint Synergism.css",
"csslint:fix": "npx stylelint Synergism.css --fix",
"htmllint": "npx htmlhint index.html",
Expand Down
3 changes: 2 additions & 1 deletion src/BlueberryUpgrades.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { calculateAmbrosiaGenerationSpeed, calculateAmbrosiaLuck } from './Calcu
import { DynamicUpgrade } from './DynamicUpgrade'
import type { IUpgradeData } from './DynamicUpgrade'
import { exportData, saveFilename } from './ImportExport'
import { getQuarkBonus } from './Quark'
import { format, player } from './Synergism'
import type { Player } from './types/Synergism'
import { Alert, Confirm, Prompt } from './UpdateHTML'
Expand Down Expand Up @@ -665,7 +666,7 @@ export const blueberryUpgradeData: Record<
return baseCost * (Math.pow(level + 1, 2) - Math.pow(level, 2))
},
rewards: (n: number) => {
const val = 1 + (n * player.worlds.BONUS) / 100
const val = 1 + (n * getQuarkBonus()) / 100
return {
blueberryGeneration: val,
desc: String(
Expand Down
6 changes: 3 additions & 3 deletions src/Calculate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { BuffType, calculateEventSourceBuff } from './Event'
import { addTimers, automaticTools } from './Helper'
import { hepteractEffective } from './Hepteracts'
import { disableHotkeys, enableHotkeys } from './Hotkeys'
import { quarkHandler } from './Quark'
import { getQuarkBonus, quarkHandler } from './Quark'
import { reset } from './Reset'
import { calculateSingularityDebuff } from './singularity'
import { getFastForwardTotalMultiplier } from './singularity'
Expand Down Expand Up @@ -2082,7 +2082,7 @@ export const getOcteractValueMultipliers = () => {
+player.singularityUpgrades.singOcteractGain5.getEffect().bonus,
// Patreon bonus
1
+ (player.worlds.BONUS / 100)
+ (getQuarkBonus() / 100)
* +player.singularityUpgrades.singOcteractPatreonBonus.getEffect().bonus,
// octeracts for dummies
1 + 0.2 * +player.octeractUpgrades.octeractStarter.getEffect().bonus,
Expand Down Expand Up @@ -2488,7 +2488,7 @@ export const calculateGoldenQuarkMultiplier = (computeMultiplier = false) => {

const arr = [
1 + Math.max(0, Math.log10(player.challenge15Exponent + 1) - 20) / 2, // Challenge 15 Exponent
1 + player.worlds.BONUS / 100, // Patreon Bonus
1 + getQuarkBonus() / 100, // Patreon Bonus
+player.singularityUpgrades.goldenQuarks1.getEffect().bonus, // Golden Quarks I
1 + 0.12 * player.cubeUpgrades[69], // Cookie Upgrade 19
+player.singularityChallenges.noSingularityUpgrades.rewards.goldenQuarks, // No Singularity Upgrades
Expand Down
4 changes: 2 additions & 2 deletions src/ImportExport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { octeractGainPerSecond } from './Calculate'
import { testing, version } from './Config'
import { Synergism } from './Events'
import { addTimers } from './Helper'
import { quarkHandler } from './Quark'
import { getQuarkBonus, quarkHandler } from './Quark'
import { playerJsonSchema } from './saves/PlayerJsonSchema'
import { shopData } from './Shop'
import { singularityData } from './singularity'
Expand Down Expand Up @@ -240,7 +240,7 @@ export const exportSynergism = async (
const quarkData = quarkHandler()

let bonusGQMultiplier = 1
bonusGQMultiplier *= 1 + player.worlds.BONUS / 100
bonusGQMultiplier *= 1 + getQuarkBonus() / 100
bonusGQMultiplier *= player.highestSingularityCount >= 100
? 1 + player.highestSingularityCount / 50
: 1
Expand Down
8 changes: 3 additions & 5 deletions src/Login.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import i18next from 'i18next'
import localforage from 'localforage'
import { DOMCacheGetOrSet } from './Cache/DOM'
import { QuarkHandler } from './Quark'
import { QuarkHandler, setQuarkBonus } from './Quark'
import { player } from './Synergism'
import { Alert } from './UpdateHTML'

Expand Down Expand Up @@ -86,10 +86,8 @@ export async function handleLogin () {
| SynergismDiscordUserAPIResponse
| SynergismPatreonUserAPIResponse

player.worlds = new QuarkHandler({
quarks: Number(player.worlds),
bonus: 100 * (1 + globalBonus / 100) * (1 + personalBonus / 100) - 100 // Multiplicative
})
setQuarkBonus(100 * (1 + globalBonus / 100) * (1 + personalBonus / 100) - 100)
player.worlds = new QuarkHandler(Number(player.worlds))

currentBonus.textContent = `Generous patrons give you a bonus of ${globalBonus}% more Quarks!`

Expand Down
15 changes: 7 additions & 8 deletions src/Quark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,24 +37,23 @@ export const quarkHandler = () => {
}
}

let bonus = 0

export const setQuarkBonus = (newBonus: number) => bonus = newBonus
export const getQuarkBonus = () => bonus

export class QuarkHandler {
/** Global quark bonus */
public BONUS = 0
/** Quark amount */
private QUARKS = 0

constructor ({ bonus, quarks }: { bonus?: number; quarks: number }) {
constructor (quarks: number) {
this.QUARKS = quarks

if (bonus) {
this.BONUS = bonus
}
}

/*** Calculates the number of quarks to give with the current bonus. */
applyBonus (amount: number) {
const nonPatreon = calculateQuarkMultiplier()
return amount * (1 + (this.BONUS / 100)) * nonPatreon
return amount * (1 + (getQuarkBonus() / 100)) * nonPatreon
}

/** Subtracts quarks, as the name suggests. */
Expand Down
6 changes: 3 additions & 3 deletions src/Synergism.ts
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ import { init as i18nInit } from './i18n'
import { handleLogin } from './Login'
import { octeractData, OcteractUpgrade } from './Octeracts'
import { updatePlatonicUpgradeBG } from './Platonic'
import { QuarkHandler } from './Quark'
import { getQuarkBonus, QuarkHandler } from './Quark'
import { playerJsonSchema } from './saves/PlayerJsonSchema'
import { playerSchema } from './saves/PlayerSchema'
import { getFastForwardTotalMultiplier, singularityData, SingularityUpgrade } from './singularity'
Expand All @@ -177,7 +177,7 @@ import type { PlayerSave } from './types/LegacySynergism'

export const player: Player = {
firstPlayed: new Date().toISOString(),
worlds: new QuarkHandler({ quarks: 0, bonus: 0 }),
worlds: new QuarkHandler(0),
coins: new Decimal('1e2'),
coinsThisPrestige: new Decimal('1e2'),
coinsThisTranscension: new Decimal('1e2'),
Expand Down Expand Up @@ -5040,7 +5040,7 @@ export const resetCheck = async (
i18next.t('main.singularityMessage4', {
x: format(nextSingularityNumber),
y: format(calculateGoldenQuarkGain(), 2, true),
z: format(player.worlds.BONUS)
z: format(getQuarkBonus())
})
)
await Alert(i18next.t('main.singularityMessage5'))
Expand Down
4 changes: 2 additions & 2 deletions src/UpdateVisuals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { version } from './Config'
import type { IMultiBuy } from './Cubes'
import type { hepteractTypes } from './Hepteracts'
import { hepteractTypeList } from './Hepteracts'
import { quarkHandler } from './Quark'
import { getQuarkBonus, quarkHandler } from './Quark'
import { displayRuneInformation } from './Runes'
import { getShopCosts, isShopUpgradeUnlocked, shopData, shopUpgradeTypes } from './Shop'
import { getGoldenQuarkCost } from './singularity'
Expand Down Expand Up @@ -1342,7 +1342,7 @@ export const visualUpdateSettings = () => {
const maxExportQuarks = quarkData.capacity

let goldenQuarkMultiplier = 1
goldenQuarkMultiplier *= 1 + player.worlds.BONUS / 100
goldenQuarkMultiplier *= 1 + getQuarkBonus() / 100
goldenQuarkMultiplier *= player.highestSingularityCount >= 100
? 1 + player.highestSingularityCount / 50
: 1
Expand Down
2 changes: 1 addition & 1 deletion src/saves/PlayerSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ const hepteractCraftSchema = (k: keyof Player['hepteractCrafts']) =>

export const playerSchema = z.object({
firstPlayed: z.string().datetime().optional().default(() => new Date().toISOString()),
worlds: z.number().transform((quarks) => new QuarkHandler({ quarks })),
worlds: z.number().transform((quarks) => new QuarkHandler(quarks)),
coins: decimalSchema,
coinsThisPrestige: decimalSchema,
coinsThisTranscension: decimalSchema,
Expand Down

0 comments on commit ded3616

Please sign in to comment.