Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
5a2a3b9
Updated summoning so it now display Teal upgrades and battles
Zoma-Ancestral Feb 11, 2026
0476c38
Updated farming
Zoma-Ancestral Feb 11, 2026
568eda4
Now updates correctly summoning upgrade cost reduction
Zoma-Ancestral Feb 11, 2026
49925eb
Updated the bonus multiplyer for some of the new upgrades
Zoma-Ancestral Feb 11, 2026
a339e18
Updated Summoning winner bonus calculation
Zoma-Ancestral Feb 11, 2026
4575b09
Updated Summoning
Zoma-Ancestral Feb 11, 2026
01832f7
Now retrieve the info if upgrade is affected by summoning doubler
Zoma-Ancestral Feb 11, 2026
16e8c57
Updated Updates calculations
Zoma-Ancestral Feb 11, 2026
55c9847
Updated the DMG and HP calculations
Zoma-Ancestral Feb 11, 2026
92a7232
Moved the Emperor bonus calculation a bit higher so we can have some…
Zoma-Ancestral Feb 11, 2026
1213ec6
Updated arcade rounding, to at least show the same values as in-game
Zoma-Ancestral Feb 11, 2026
8a55d6c
Moved the companions impacts up so we can get more accurate values in…
Zoma-Ancestral Feb 11, 2026
d0e296f
Updated the summoning value display
Zoma-Ancestral Feb 11, 2026
c106176
Updated summoning upgrades display to increase readability
Zoma-Ancestral Feb 11, 2026
2417a92
Added new func related to stone boss to use in UI
Zoma-Ancestral Feb 11, 2026
a32b37b
Update the summoning UI
Zoma-Ancestral Feb 11, 2026
89126d0
Updated tome calculation
Zoma-Ancestral Feb 11, 2026
c38de2d
win bonus tests
Sludging Feb 12, 2026
6d9984e
minor readability fixes
Sludging Feb 12, 2026
d7d411d
fix tests broken by domain movements
Sludging Feb 12, 2026
99192d9
Updated summoning upgrades display text
Zoma-Ancestral Feb 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion app/world-6/summoning/content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ import { SummoningUpgrades } from '../../../components/world-6/summoning/summoni
import { SummoningBattles } from '../../../components/world-6/summoning/summoningBattles';
import { useAppDataStore } from '../../../lib/providers/appDataStoreProvider';
import { useShallow } from 'zustand/react/shallow';
import TipDisplay from '../../../components/base/TipDisplay';
import { CircleInformation } from 'grommet-icons';

function Summoning() {
const { theData } = useAppDataStore(useShallow(
Expand All @@ -38,7 +40,7 @@ function Summoning() {
<Box justify="start" direction='row' gap="small">
{
summoning.summonEssences.filter(essence => essence.displayEssence == true).map((essence) => (
<ShadowBox width={"xsmall"} key={essence.color.toString()} background="dark-1" gap="xsmall" pad="small" align="left">
<ShadowBox width={"small"} key={essence.color.toString()} background="dark-1" gap="xsmall" pad="small" align="left">
<ComponentAndLabel
label={SummoningDomain.getEssenceColorName(essence.color)}
component={
Expand All @@ -48,6 +50,22 @@ function Summoning() {
</Box>
}
/>
<Box direction='row' gap="xsmall">
{essence.stoneBossVictories} Stone kills
<TipDisplay
heading={summoning.getEssenceSummoningStoneBossName(essence.color)}
size='small'
maxWidth='medium'
body={
<Box>
<Text size='small'>You can find the stone to start the boss battle here :</Text>
<Text size='small'>{summoning.getEssenceSummoningStoneBossmap(essence.color)}</Text>
</Box>
}
>
<CircleInformation size="small" />
</TipDisplay>
</Box>
</ShadowBox>
))
}
Expand Down
10 changes: 10 additions & 0 deletions components/world-6/summoning/summoningUpgrades.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { Box, Grid, Stack, Text } from "grommet";
import { Star } from 'grommet-icons';
import ShadowBox from "../../base/ShadowBox";
import IconImage from "../../base/IconImage";
import TextAndLabel, { ComponentAndLabel } from "../../base/TextAndLabel";
import { nFormatter } from "../../../data/utility";
import { Summoning as SummoningDomain, SummonUpgrade, SummonEssence } from '../../../data/domain/world-6/summoning';
import TabButton from "../../base/TabButton";
import { useState } from "react";
import TipDisplay from "../../base/TipDisplay";

const ColorSection = ({ colorUpgrades, allUpgrades, essence }: { colorUpgrades: SummonUpgrade[], allUpgrades: SummonUpgrade[], essence: SummonEssence | undefined }) => {
if (!essence || colorUpgrades.length == 0) {
Expand Down Expand Up @@ -43,6 +45,14 @@ const ColorSection = ({ colorUpgrades, allUpgrades, essence }: { colorUpgrades:
<Text size="xsmall">{upgrade.data.name}</Text>
<Text size="xsmall">{upgrade.getLevelDisplay()}</Text>
</Box>
{upgrade.isDoubled &&
<TipDisplay
heading="Summoning doubler"
size='small'
maxWidth='small'
>
<Star size="small" color="yellow" />
</TipDisplay>}
</Box>
<TextAndLabel textSize='xsmall' text={upgrade.getBonusText()} label={"Bonus"} />
</Box>
Expand Down
8 changes: 4 additions & 4 deletions data/domain/idleonData.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ import { Rift } from "./world-4/rift";
import { Equinox, updateEquinoxBar } from './world-3/equinox';
import { POExtra } from './world-2/postoffice';
import { Sneaking, updateSneaking } from './world-6/sneaking';
import { Summoning, updateSummoningLevelAndBonusesFromIt, updateSummoningWinnerBonusBoost, updateSummoningWinnerImpact } from './world-6/summoning';
import { Summoning, updateSummoningUpgrades, updateSummoningWinnerBonusBoost, updateSummoningWinnerImpact } from './world-6/summoning';
import { Farming, updateFarmingCropScientistBonuses, updateFarmingDisplayData, updateFarmingLevel } from './world-6/farming';
import { StarSigns, updateInfinityStarSigns, updateStarSignsUnlocked } from './starsigns';
import { IslandExpeditions } from './world-2/islandExpedition';
Expand Down Expand Up @@ -236,6 +236,7 @@ export const initAccountDataKeys = (allItems: Item[]) => {
// ORDER IS IMPORTANT, the keys are not relevant as data doesn't get persisted.
// This allows for multiple calls that touch the same data to happen in the same map (artifacts + sailing for example)
const postProcessingMap: Record<string, Function> = {
"updateCompanionImpact": (doc: Cloudsave, accountData: Map<string, any>) => updateCompanionImpact(accountData),
"updateOrionGlobalBonus": (doc: Cloudsave, accountData: Map<string, any>) => updateOrionGlobalBonus(accountData),
"updatePoppyGlobalBonus": (doc: Cloudsave, accountData: Map<string, any>) => updatePoppyGlobalBonus(accountData),
"updateBubba": (doc: Cloudsave, accountData: Map<string, any>) => updateBubba(accountData),
Expand All @@ -244,18 +245,16 @@ const postProcessingMap: Record<string, Function> = {
"updateLegendTalents": (doc: Cloudsave, accountData: Map<string, string>) => updateLegendTalents(accountData),
"updatePlayerDeathnote": (doc: Cloudsave, accountData: Map<string, any>) => updatePlayerDeathnote(accountData),
"updatePlayerSpecialTalents": (doc: Cloudsave, accountData: Map<string, any>) => updatePlayerSpecialTalents(accountData),
"summoningLevel": (doc: Cloudsave, accountData: Map<string, any>) => updateSummoningLevelAndBonusesFromIt(accountData),
"emperorBonuses": (doc: Cloudsave, accountData: Map<string, any>) => updateEmperorBonuses(accountData),
"summoningWinnerBonus": (doc: Cloudsave, accountData: Map<string, any>) => updateSummoningWinnerBonusBoost(accountData),
"summoningWinnerImpact": (doc: Cloudsave, accountData: Map<string, any>) => updateSummoningWinnerImpact(accountData),
"starSignsUnlocked": (doc: Cloudsave, accountData: Map<string, any>) => updateStarSignsUnlocked(accountData),
"farmingLevel": (doc: Cloudsave, accountData: Map<string, any>) => updateFarmingLevel(accountData),
"updateCompanionImpact": (doc: Cloudsave, accountData: Map<string, any>) => updateCompanionImpact(accountData),
"divinity": (doc: Cloudsave, accountData: Map<string, any>) => updateDivinity(accountData),
"updatePlayerTalentLevelWithoutESBonus": (doc: Cloudsave, accountData: Map<string, any>) => updatePlayerTalentLevelExceptESBonus(accountData),
"family": (doc: Cloudsave, accountData: Map<string, any>) => calculateFamily(accountData),
"updatePlayerTalentLevelESBonus": (doc: Cloudsave, accountData: Map<string, any>) => updatePlayerTalentLevelESBonus(accountData),
"arcaneCultistImpact": (doc: Cloudsave, accountData: Map<string, any>) => updateArcaneCultistImpact(accountData),
"emperorBonuses": (doc: Cloudsave, accountData: Map<string, any>) => updateEmperorBonuses(accountData),
"updateAllShinies": (doc: Cloudsave, accountData: Map<string, any>) => updateAllShinyEffects(accountData),
"updateInfinityStarSigns": (doc: Cloudsave, accountData: Map<string, any>) => updateInfinityStarSigns(accountData),
"updateSuperbitImpcats": (doc: Cloudsave, accountData: Map<string, any>) => updateSuperbitImpacts(accountData),
Expand Down Expand Up @@ -299,6 +298,7 @@ const postProcessingMap: Record<string, Function> = {

// I really really hate this.
const postPostProcessingMap: Record<string, Function> = {
"updateSummoningUpgrades": (doc: Cloudsave, accountData: Map<string, any>) => updateSummoningUpgrades(accountData),
"updateWorshipTotemsSoulGainBonuses": (doc: Cloudsave, accountData: Map<string, any>) => updateTotemsBonuses(accountData),
"updateOrionFeatherRate": (doc: Cloudsave, accountData: Map<string, any>) => updateOrionFeatherRate(accountData),
"updatePoppyFishRate": (doc: Cloudsave, accountData: Map<string, any>) => updatePoppyFishRate(accountData),
Expand Down
4 changes: 2 additions & 2 deletions data/domain/world-2/arcade.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { lavaFunc, range } from "../../utility"
import { lavaFunc, nFormatter, range } from "../../utility"
import { Achievement } from "../achievements";
import { Alchemy } from "./alchemy/alchemy";
import { Domain, RawData } from "../base/domain";
Expand Down Expand Up @@ -76,7 +76,7 @@ export class ArcadeBonus {
}

const finalBonus = baseBonus * multiplier;
return round ? Math.round(finalBonus) : finalBonus;
return round ? parseFloat(nFormatter(finalBonus)) : finalBonus;
}

getBonusText = (_: boolean = true) => {
Expand Down
9 changes: 4 additions & 5 deletions data/domain/world-4/tome.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import { TomeEpilogueBonusModel } from '../model/tomeEpilogueBonusModel';
import { EquipmentSets } from '../misc/equipmentSets';
import { Grimoire } from '../grimoire';
import { Bubba } from '../world-3/bubba';
import { CoralReef } from '../world-7/coralReef';

export enum TomeScoreColors {
Platinum = "#6EE3FF",
Expand Down Expand Up @@ -364,6 +365,7 @@ export const updateTomeScores = (data: Map<string, any>) => {
const equipmentSet = data.get("equipmentSets") as EquipmentSets;
const grimoire = data.get("grimoire") as Grimoire;
const bubba = data.get("bubba") as Bubba;
const coralReef = data.get("coralReef") as CoralReef;

// Calculate how many trophy and obols have been found
const slab = data.get("slab") as Slab;
Expand Down Expand Up @@ -524,7 +526,6 @@ export const updateTomeScores = (data: Map<string, any>) => {
const totalSummoningUpgradeLevels = summoning.summonUpgrades.reduce((sum, upgrade) => sum + upgrade.level, 0);

// Sum of summoning victories
// TODO : update summoning to include the new color battles and upgrades
const summoningVictories = summoning.summonBattles.getTotalVictories();

// Number of Ninja floors unlocked
Expand All @@ -545,8 +546,7 @@ export const updateTomeScores = (data: Map<string, any>) => {
}

// Total of all summoning boss victories
// TODO once implemented
const totalSummoningBossesVictories = 0;
const totalSummoningBossesVictories = summoning.summonEssences.reduce((sum, essence) => sum += essence.stoneBossVictories, 0);

// Number of Jade Emporium upgrades bought
const jadeEmporiumUpgradesBought = sneaking.jadeUpgrades.filter(upgrade => upgrade.display && upgrade.purchased).length;
Expand Down Expand Up @@ -983,8 +983,7 @@ export const updateTomeScores = (data: Map<string, any>) => {
break;
case 97:
// Total coral reef upgrades
// TODO : get the values once implemented
line.updateAllPlayersCurrentValue(0);
line.updateAllPlayersCurrentValue(coralReef.upgrades.reduce((sum, upgrade) => sum += upgrade.level, 0));
break;
case 98:
// Deepest delve depth reach in a single run
Expand Down
2 changes: 0 additions & 2 deletions data/domain/world-6/emperor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ export class Emperor extends Domain {
return 135e13 * Math.pow(1.7, this.emperorKills);
}



/**
* Calculate daily emperor tries
*/
Expand Down
2 changes: 1 addition & 1 deletion data/domain/world-6/farming.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -834,7 +834,7 @@ export const updateFarmingDisplayData = (data: Map<string, any>) => {
const skillMastery = rift.bonuses.find(bonus => bonus.name == "Skill Mastery") as SkillMastery;

// Update Min and Max possible quantity to collect from one fully grown crop
const gemInstagrowPurchase = gemStore.purchases.find(purchase => purchase.index == 140)?.pucrhased ?? 0;
const gemInstagrowPurchase = gemStore.purchases.find(purchase => purchase.no == 139)?.pucrhased ?? 0;
farming.updatePossibleQuantityToCollect(farming.getMarketUpgradeBonusValue(1), gemInstagrowPurchase);

// Update growth speed for displayng when crops will be ready
Expand Down
Loading
Loading