Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
d4a37d6
Updated TomeRepo to add new bonus
Zoma-Ancestral Jan 4, 2026
9fe5fae
Added ingame indexes
Zoma-Ancestral Jan 4, 2026
59f30e5
Changed impacted indexes
Zoma-Ancestral Jan 4, 2026
62a7b83
Updated display order array
Zoma-Ancestral Jan 4, 2026
d364c5c
Added New utility log2 from lava code
Zoma-Ancestral Jan 4, 2026
67f3189
Updated Tome
Zoma-Ancestral Jan 4, 2026
8bf5564
Updated import for Tome
Zoma-Ancestral Jan 4, 2026
184f3a1
Created Gambit
Zoma-Ancestral Jan 4, 2026
2fb145f
Added Gambit to Hole
Zoma-Ancestral Jan 4, 2026
6ee1970
Added DawgDen and Total opals
Zoma-Ancestral Jan 4, 2026
ef5df5d
Added more info in monuments
Zoma-Ancestral Jan 4, 2026
d393b4b
Added Jare types information
Zoma-Ancestral Jan 4, 2026
20869a7
Manually updated some repo values
Zoma-Ancestral Jan 4, 2026
6de1d60
Small renames
Zoma-Ancestral Jan 4, 2026
0415840
Added Jar bonuses model and repo
Zoma-Ancestral Jan 4, 2026
3895899
small rename
Zoma-Ancestral Jan 4, 2026
b85ef03
Created Jar
Zoma-Ancestral Jan 4, 2026
d6dba74
Imported Jar in Hole
Zoma-Ancestral Jan 4, 2026
8ad3d8b
Renamed gambit level to challenge
Zoma-Ancestral Jan 4, 2026
f139f8b
Removed unused import
Zoma-Ancestral Jan 4, 2026
cb25353
Update Hole parsing
Zoma-Ancestral Jan 4, 2026
025528d
Merge pull request #296 from Sludging/update/hole
Zoma-Ancestral Jan 4, 2026
8c317a3
Merge remote-tracking branch 'origin/main' into update/tome
Sludging Jan 5, 2026
cb0dd20
Fixed some variables to please ESLint
Zoma-Ancestral Jan 5, 2026
a741586
Updated Gambit
Zoma-Ancestral Jan 5, 2026
d5604a3
Minor changes to please ESLint
Zoma-Ancestral Jan 5, 2026
c6ebedb
Update data/domain/tome.tsx
Zoma-Ancestral Jan 7, 2026
8255818
Update data/domain/tome.tsx
Zoma-Ancestral Jan 7, 2026
d35ad6e
Update data/domain/tome.tsx
Zoma-Ancestral Jan 7, 2026
b509a1f
Updated ToTime func
Zoma-Ancestral Jan 7, 2026
1c2f797
Update gambit to use toTime utility func
Zoma-Ancestral Jan 7, 2026
ab6a064
Updated GambitBonus init
Zoma-Ancestral Jan 7, 2026
5d4cff2
Updated Most Bits Owned display format
Zoma-Ancestral Jan 7, 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
4 changes: 2 additions & 2 deletions app/world-1/stamps/content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ function StampDisplay({ stamp, index, highlight, storageAmount = 0 }: { stamp: S
</TableHeader>
<TableBody>
{
Object.entries(stamp.maxCarryInfo).map(([maxLevel, costInfo], index) => (
Object.entries(stamp.maxCarryInfo).map(([maxLevel, costInfo], _) => (
<TableRow key={`${stamp.name}_${maxLevel}`}>
<TableCell>{maxLevel}</TableCell>
<TableCell>
Expand Down Expand Up @@ -136,7 +136,7 @@ function StampDisplay({ stamp, index, highlight, storageAmount = 0 }: { stamp: S
</TableHeader>
<TableBody>
{
Object.entries(stamp.maxCarryInfo).slice(0, -1).map(([maxLevel, costInfo], index) => (
Object.entries(stamp.maxCarryInfo).slice(0, -1).map(([maxLevel, costInfo], _) => (
<TableRow key={`${stamp.name}_${maxLevel}`}>
<TableCell>{maxLevel}</TableCell>
<TableCell>{costInfo.costToLevel > 0 && <Box direction="row" align="center"><Text size="small">{nFormatter(costInfo.costToLevel)}{costInfo.currentDiscount ? " *" : ""}</Text><IconImage data={(stamp.materialItem as Item).getImageData()} scale={0.7} /></Box>}</TableCell>
Expand Down
12 changes: 7 additions & 5 deletions app/world-3/construction/content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,11 @@ function RefineryDisplay() {
const toReturn: number[] = [];
Object.entries(refineryData.salts).forEach(([salt, info], index) => {
const currentCooldowns: [Player, number][] = [];
squireInfo && squireInfo.forEach(squire => {
currentCooldowns.push([squire, squire.getCurrentCooldown(130)]);
});
if (squireInfo) {
squireInfo.forEach(squire => {
currentCooldowns.push([squire, squire.getCurrentCooldown(130)]);
});
}
let totalWait = 0;
const refineryCycle = Math.floor(index / 3) == 0 ? refineryData.cycleInfo["Combustion"] : refineryData.cycleInfo["Synthesis"];
let timeToNextRank = info.getTimeToNextRank(refineryCycle.cycleTime);
Expand Down Expand Up @@ -142,7 +144,7 @@ function RefineryDisplay() {
})
}
{squireInfo && squireInfo.map((squire, index) => {
const [refineryTalent, cooldown] = [...squire.cooldown.entries()].filter(([talent, cooldown]) => talent.skillIndex == 130)?.pop() as [Talent, number];
const [refineryTalent, cooldown] = [...squire.cooldown.entries()].filter(([talent, _]) => talent.skillIndex == 130)?.pop() as [Talent, number];
const realCD = cooldown - squire.afkFor;
return (
<ShadowBox key={index} background="dark-1" pad="medium" align="center" margin={{ right: 'large', bottom: 'small' }}>
Expand Down Expand Up @@ -412,7 +414,7 @@ function PrinterDisplay() {
<Box gap="medium">
<Box direction="row" wrap justify="center">
{masteroInfo && masteroInfo.map((mastero, index) => {
const [printerTalent, cooldown] = [...mastero.cooldown.entries()].filter(([talent, cooldown]) => talent.skillIndex == 32)?.pop() as [Talent, number];
const [printerTalent, cooldown] = [...mastero.cooldown.entries()].filter(([talent, _]) => talent.skillIndex == 32)?.pop() as [Talent, number];
const realCD = cooldown - mastero.afkFor;
return (
<ShadowBox key={index} background="dark-1" pad="medium" align="center" margin={{ right: 'large', bottom: 'small' }}>
Expand Down
2 changes: 1 addition & 1 deletion app/world-4/lab/content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ function ChipDisplay() {
<Box pad={{ top: "small", bottom: "small" }}>
<Grid columns={{ size: '120px' }}>
{
Object.entries(lab.playerChips).map(([playerNumber, chips], index) => {
Object.entries(lab.playerChips).map(([playerNumber, _], index) => {
const playerId = parseInt(playerNumber);
if (playerId >= playersData.length) {
return null;
Expand Down
2 changes: 1 addition & 1 deletion components/account/grimoireDisplay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ function EfficiencySection() {
"Unlock Path": {
valueHeader: '',
valueColor: 'accent-2',
formatValue: (value: number) => ``,
formatValue: (_: number) => ``,
noResultsText: 'No efficient upgrades available'
}
};
Expand Down
2 changes: 1 addition & 1 deletion components/account/tesseractDisplay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export function TesseractDisplay() {
"Unlock Path": {
valueHeader: '',
valueColor: 'accent-2',
formatValue: (value: number) => ``,
formatValue: (_: number) => ``,
noResultsText: 'No efficient upgrades available'
},
'Arcane Damage': { valueHeader: 'Damage +', valueColor: 'accent-2', formatValue: (value: number) => `${nFormatter(value, "CommaNotation")}`, noResultsText: 'No efficient damage upgrades available' },
Expand Down
2 changes: 1 addition & 1 deletion components/base/Stat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export default function Stat({ stat }: { stat: StatDomain }) {
heading={`${stat.name}${stat.max ? `(Max value: ${stat.max})` : ""}`}
body={
<Box>
{stat.sources.map((source, index) => {
{stat.sources.map((source, _) => {
if (typeof source.value === 'number') {
return (
<Text size="small" key={source.name}>{source.name}: {nFormatter(source.value as number, "Smaller")}</Text>
Expand Down
2 changes: 1 addition & 1 deletion components/world-4/breeding/pets.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ function AllPetDisplay() {
worldsToDisplay.map(world => {
return breeding.basePets.filter(pet => pet.data.world == world).slice().sort((pet1, pet2) => pet1.data.unlockOrder > pet2.data.unlockOrder ? 1 : -1);
})
), [theData, breeding]);
), [theData, breeding, worldsToDisplay]);

if (!breeding) {
return (
Expand Down
4 changes: 2 additions & 2 deletions data/domain/base/lavaRand.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ export default class LavaRand {
constructor(seed: number) {
this.seed = seed;
this.seed2 = this.hash(seed);
0 == this.seed && (this.seed = 1);
0 == this.seed2 && (this.seed2 = 1);
if (0 == this.seed) (this.seed = 1);
if (0 == this.seed2) (this.seed2 = 1);
}

random = (a: number) => {
Expand Down
6 changes: 3 additions & 3 deletions data/domain/data/GambitBonusRepo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export const initGambitBonusRepo = () => {
"x0": 1,
"x1": 0,
"description": "no",
"name": "2 extra Snail Mail every day"
"name": "2x extra Snail Mail every day"
}),
new GambitBonusBase(11, <GambitBonusModel>{
"index": 11,
Expand All @@ -95,14 +95,14 @@ export const initGambitBonusRepo = () => {
"x0": 1,
"x1": 0,
"description": "no",
"name": "2 Extra Bones on Deathbringer"
"name": "2x Extra Bones on Deathbringer"
}),
new GambitBonusBase(13, <GambitBonusModel>{
"index": 13,
"x0": 1,
"x1": 0,
"description": "no",
"name": "2 daily particle bubble upg"
"name": "2x daily particle bubble upg"
}),
new GambitBonusBase(14, <GambitBonusModel>{
"index": 14,
Expand Down
249 changes: 249 additions & 0 deletions data/domain/data/HoleJarBonusRepo.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
import { HoleJarBonusModel } from "../model/holeJarBonusModel";

export class HoleJarBonusBase { constructor(public index: number, public data: HoleJarBonusModel) { } }


export const initHoleJarBonusRepo = () => {
return [
new HoleJarBonusBase(0, <HoleJarBonusModel>{
name: "ABNORMAL RUPIE",
bonus: 20,
filler1: "Filler",
description: "Rupies found are worth +{% more. @ Current Rupie Value:$"
}),
new HoleJarBonusBase(1, <HoleJarBonusModel>{
name: "SAPPHIRE DROPLET",
bonus: 10,
filler1: "Filler",
description: "Jar production rate is +{% faster."
}),
new HoleJarBonusBase(2, <HoleJarBonusModel>{
name: "EFFERVESCENT DIAMOND",
bonus: 20,
filler1: "Filler",
description: "}x higher chance to find Opals in Tall Jars."
}),
new HoleJarBonusBase(3, <HoleJarBonusModel>{
name: "TORTOLE ROCK",
bonus: 25,
filler1: "Filler",
description: "All rupies found are worth a whopping }x more!"
}),
new HoleJarBonusBase(4, <HoleJarBonusModel>{
name: "NATURAL PEARL",
bonus: 15,
filler1: "Filler",
description: "All villagers gain +{% more EXP."
}),
new HoleJarBonusBase(5, <HoleJarBonusModel>{
name: "AMETHYST HEARTSTONE",
bonus: 10,
filler1: "Filler",
description: "All skilling caverns require {% less Resources to get opals!"
}),
new HoleJarBonusBase(6, <HoleJarBonusModel>{
name: "AMBER SQUARE",
bonus: 25,
filler1: "Filler",
description: "Rupies found are worth +{% more."
}),
new HoleJarBonusBase(7, <HoleJarBonusModel>{
name: "VERDANT THORNS",
bonus: 25,
filler1: "Filler",
description: "}x higher chance to find new Collectibles."
}),
new HoleJarBonusBase(8, <HoleJarBonusModel>{
name: "VIOLENT VIOLETS",
bonus: 20,
filler1: "Filler",
description: "All buckets get }x Bucket Fill Rate!"
}),
new HoleJarBonusBase(9, <HoleJarBonusModel>{
name: "BLUE FABERGE EGG",
bonus: 15,
filler1: "Filler",
description: "}x higher chance to enchant a Collectible"
}),
new HoleJarBonusBase(10, <HoleJarBonusModel>{
name: "SHADOW PRISM",
bonus: 20,
filler1: "Filler",
description: "All villagers gain +{% more EXP."
}),
new HoleJarBonusBase(11, <HoleJarBonusModel>{
name: "BIG BEEF ROCK",
bonus: 25,
filler1: "Filler",
description: "}x faster Bell Ring Rate!"
}),
new HoleJarBonusBase(12, <HoleJarBonusModel>{
name: "EMERALD ORE",
bonus: 30,
filler1: "Filler",
description: "All villagers gain +{% more EXP."
}),
new HoleJarBonusBase(13, <HoleJarBonusModel>{
name: "DAWN PRISM",
bonus: 30,
filler1: "Filler",
description: "Rupies found are worth +{% more."
}),
new HoleJarBonusBase(14, <HoleJarBonusModel>{
name: "SWAMPSTONE",
bonus: 25,
filler1: "Filler",
description: "}x higher chance to find Opals in Tall Jars."
}),
new HoleJarBonusBase(15, <HoleJarBonusModel>{
name: "FROST SPIRESTONE",
bonus: 12,
filler1: "Filler",
description: "Jar production rate is +{% faster."
}),
new HoleJarBonusBase(16, <HoleJarBonusModel>{
name: "ROSEMERALD",
bonus: 10,
filler1: "Filler",
description: "}x Faster study rate for villager Bolaia"
}),
new HoleJarBonusBase(17, <HoleJarBonusModel>{
name: "BLOOD GLASS",
bonus: 40,
filler1: "Filler",
description: "All rupies found are worth a whopping }x more!"
}),
new HoleJarBonusBase(18, <HoleJarBonusModel>{
name: "SUNRISE DIAMOND",
bonus: 25,
filler1: "Filler",
description: "}x higher chance to enchant a Collectible"
}),
new HoleJarBonusBase(19, <HoleJarBonusModel>{
name: "MINCERAFT GEM",
bonus: 20,
filler1: "Filler",
description: "+{% Monument AFK Gain rate."
}),
new HoleJarBonusBase(20, <HoleJarBonusModel>{
name: "CRIMSON SPADE",
bonus: 20,
filler1: "Filler",
description: "The harp produces }x more Notes!"
}),
new HoleJarBonusBase(21, <HoleJarBonusModel>{
name: "STAINED GLASSDROP",
bonus: 35,
filler1: "Filler",
description: "Rupies found are worth +{% more."
}),
new HoleJarBonusBase(22, <HoleJarBonusModel>{
name: "TABULA RASASTONE",
bonus: 32,
filler1: "Filler",
description: "All villagers gain +{% more EXP."
}),
new HoleJarBonusBase(23, <HoleJarBonusModel>{
name: "DEEP BLUE SQUARE",
bonus: 1,
filler1: "Filler",
description: "+{% Gambit PTS"
}),
new HoleJarBonusBase(24, <HoleJarBonusModel>{
name: "EARTHBOUND GEODE",
bonus: 15,
filler1: "Filler",
description: "Jar production rate is +{% faster."
}),
new HoleJarBonusBase(25, <HoleJarBonusModel>{
name: "INFERNO DROPLET",
bonus: 40,
filler1: "Filler",
description: "}x higher chance to find new Collectibles."
}),
new HoleJarBonusBase(26, <HoleJarBonusModel>{
name: "OCTOGONAL GEM",
bonus: 30,
filler1: "Filler",
description: "}x higher chance to enchant a Collectible"
}),
new HoleJarBonusBase(27, <HoleJarBonusModel>{
name: "SOLARFANG",
bonus: 32,
filler1: "Filler",
description: "}x higher chance to find Opals in Tall Jars."
}),
new HoleJarBonusBase(28, <HoleJarBonusModel>{
name: "MYSTIC ORE",
bonus: 50,
filler1: "Filler",
description: "All rupies found are worth a whopping }x more!"
}),
new HoleJarBonusBase(29, <HoleJarBonusModel>{
name: "ARCANE PRISM",
bonus: 38,
filler1: "Filler",
description: "All villagers gain +{% more EXP."
}),
new HoleJarBonusBase(30, <HoleJarBonusModel>{
name: "MURKY FABREGE EGG",
bonus: 1,
filler1: "Filler",
description: "+{% Gambit PTS"
}),
new HoleJarBonusBase(31, <HoleJarBonusModel>{
name: "CORPORE ROCK",
bonus: 1,
filler1: "Filler",
description: "Boosts a future cavern... futuuure..!"
}),
new HoleJarBonusBase(32, <HoleJarBonusModel>{
name: "TWILIGHT PRISM",
bonus: 1,
filler1: "Filler",
description: "Boosts a future cavern... futuuure..!"
}),
new HoleJarBonusBase(33, <HoleJarBonusModel>{
name: "TEWBALL ORBSTONE",
bonus: 40,
filler1: "Filler",
description: "Rupies found are worth +{% more."
}),
new HoleJarBonusBase(34, <HoleJarBonusModel>{
name: "MAD MUSCLE ROCK",
bonus: 40,
filler1: "Filler",
description: "}x higher chance to enchant a Collectible"
}),
new HoleJarBonusBase(35, <HoleJarBonusModel>{
name: "SUNROOT SPLINTERS",
bonus: 40,
filler1: "Filler",
description: "All villagers gain +{% more EXP."
}),
new HoleJarBonusBase(36, <HoleJarBonusModel>{
name: "TWISTED RUPIE",
bonus: 75,
filler1: "Filler",
description: "}x faster Bell Ring Rate!"
}),
new HoleJarBonusBase(37, <HoleJarBonusModel>{
name: "OVERLOADED RELIC",
bonus: 1,
filler1: "Filler",
description: "Boosts a future cavern... futuuure..!"
}),
new HoleJarBonusBase(38, <HoleJarBonusModel>{
name: "SUNBURST PEARL",
bonus: 1,
filler1: "Filler",
description: "Boosts a future cavern... futuuure..!"
}),
new HoleJarBonusBase(39, <HoleJarBonusModel>{
name: "BLOODFANG SPIRES",
bonus: 1,
filler1: "Filler",
description: "Boosts a future cavern... futuuure..!"
})
]
}
Loading
Loading