diff --git a/app/players/content.tsx b/app/players/content.tsx
index 4c76ebc8..a2264e88 100644
--- a/app/players/content.tsx
+++ b/app/players/content.tsx
@@ -1091,7 +1091,7 @@ function ZowInfo({ player }: { player: Player }) {
"Blunder Hills", "JungleZ", "PlayerSelect", "Efaunt's Tomb", "Gravel Tomb", "Heaty Hole", "End Of The Road", "Z", "Eycicles's Nest", "Enclave a la Troll",
"Magma Rivertown", "YumYum Islands", "Chizoar's Cavern", "Tunnel Closed", "KattleKruk's Volcano",
// world 6
- "Motherlode Pit", "Companion Park", "Spirit Village", "Emperor's Castle",
+ "Motherlode Pit", "Pet Park", "Spirit Village", "Emperor's Castle",
// minigame Howl and Poppy
"Grand Owl Perch", "The Oasis"
].includes(area)) {
diff --git a/app/world-2/alchemy/content.tsx b/app/world-2/alchemy/content.tsx
index 3da72575..ae399537 100644
--- a/app/world-2/alchemy/content.tsx
+++ b/app/world-2/alchemy/content.tsx
@@ -241,9 +241,25 @@ function SigilsDisplay() {
const reqLimit = (sigil.boostLevel == 1 && sigil.canBeIonized) ? (sigil.data.x1 ?? 0) : sigil.boostLevel == 0 ? sigil.data.boostCost : sigil.boostLevel == -1 ? sigil.data.unlockCost : 0;
const chargeSpeed = sigil.activePlayers * sigilData.chargeSpeed;
const timeToNext = ((reqLimit - sigil.progress) / chargeSpeed) * 3600;
+ let filter = undefined;
+ switch (sigil.boostLevel) {
+ case 1:
+ filter = "hue-rotate(202deg)"
+ break;
+ case 2:
+ filter = "hue-rotate(150deg)"
+ break;
+ case 3:
+ filter = "hue-rotate(80deg)"
+ break;
+ case 4:
+ filter = "hue-rotate(260deg)"
+ break;
+ }
+
return (
0 ? { color: 'green-1', size: '1px' } : undefined}>
-
+ 0 ? 1 : 0.2 }} data={sigil.getImageData()} />
diff --git a/app/world-3/construction/content.tsx b/app/world-3/construction/content.tsx
index 70ee828a..3744d73b 100644
--- a/app/world-3/construction/content.tsx
+++ b/app/world-3/construction/content.tsx
@@ -78,7 +78,13 @@ function RefineryDisplay() {
});
}
let totalWait = 0;
- const refineryCycle = Math.floor(index / 3) == 0 ? refineryData.cycleInfo["Combustion"] : refineryData.cycleInfo["Synthesis"];
+ let refineryCycle = refineryData.cycleInfo["Combustion"];
+ if (Math.floor(index / 3) == 1) {
+ refineryCycle = refineryData.cycleInfo["Synthesis"];
+ }
+ if (Math.floor(index / 3) == 2) {
+ refineryCycle = refineryData.cycleInfo["Polymerization"]
+ }
let timeToNextRank = info.getTimeToNextRank(refineryCycle.cycleTime);
while (timeToNextRank > 0) {
const nextCDTime = Math.min(...currentCooldowns.map(cooldowns => cooldowns[1]));
@@ -197,7 +203,13 @@ function RefineryDisplay() {
const inChestStorage = storage?.chest.find((item) => item.internalName == storageItem.internalName)
storageItem.count = (inSaltStorage?.quantity ?? 0) + (inChestStorage?.count ?? 0);
});
- const refineryCycle = Math.floor(index / 3) == 0 ? refineryData.cycleInfo["Combustion"] : refineryData.cycleInfo["Synthesis"];
+ let refineryCycle = refineryData.cycleInfo["Combustion"];
+ if (Math.floor(index / 3) == 1) {
+ refineryCycle = refineryData.cycleInfo["Synthesis"];
+ }
+ if (Math.floor(index / 3) == 2) {
+ refineryCycle = refineryData.cycleInfo["Polymerization"]
+ }
const secondsSinceUpdate = (new Date().getTime() - (lastUpdated?.getTime() ?? 0)) / 1000;
const fuelTime = Math.max(0, info.getFuelTime(storageItems, [], index <= saltMeritLevel) * refineryCycle.cycleTime - secondsSinceUpdate);
const timeToNextRank = info.getTimeToNextRank(refineryCycle.cycleTime) - secondsSinceUpdate;
diff --git a/app/world-5/sailing/content.tsx b/app/world-5/sailing/content.tsx
index 404a0aa1..18e76d46 100644
--- a/app/world-5/sailing/content.tsx
+++ b/app/world-5/sailing/content.tsx
@@ -37,7 +37,7 @@ border: 1px solid black;
background-color: black;
`
-function ShipsDisplay({silkRodeChip, starSignEquipped} : {silkRodeChip: boolean, starSignEquipped: boolean}) {
+function ShipsDisplay({ silkRodeChip, starSignEquipped }: { silkRodeChip: boolean, starSignEquipped: boolean }) {
const [sailing, setSailing] = useState();
const { theData } = useAppDataStore(useShallow(
(state) => ({ theData: state.data.getData(), lastUpdated: state.lastUpdated })
@@ -113,10 +113,10 @@ function ShipsDisplay({silkRodeChip, starSignEquipped} : {silkRodeChip: boolean,
- {nFormatter(Math.round(boat.getSpeedValue({starSignEquipped:starSignEquipped, silkRodeEquipped:silkRodeChip})))}
+ {nFormatter(Math.round(boat.getSpeedValue({ starSignEquipped: starSignEquipped, silkRodeEquipped: silkRodeChip })))}
- {nFormatter(Math.round(boat.getSpeedValue({starSignEquipped:starSignEquipped, silkRodeEquipped:silkRodeChip, speedUpgrades:(boat.speedUpgrades + 1)})))}
+ {nFormatter(Math.round(boat.getSpeedValue({ starSignEquipped: starSignEquipped, silkRodeEquipped: silkRodeChip, speedUpgrades: (boat.speedUpgrades + 1) })))}
boat.getUpgradeCost(BoatUpgradeType.Speed) ? 'green-1' : 'accent-1'} size="xsmall">{nFormatter(boat.getUpgradeCost(BoatUpgradeType.Speed))}
@@ -266,9 +266,9 @@ function ArtifactDisplay() {
size='small'
heading={artifact.getUnlockText()}
body=''
- direction={TipDirection.Down}
+ direction={TipDirection.Down}
>
-
+
}
@@ -288,36 +288,52 @@ function ArtifactDisplay() {
text={artifact.getBonusText()}
/>
-
-
-
-
+ {(() => {
+ // We only show the current tier and the next tier, instead of showing all possible tiers.
+ const tiers = [
+ { status: ArtifactStatus.Ancient, label: "ANCIENT BONUS", getText: () => artifact.data.ancientBonus, labelColor: "#FFD700" },
+ { status: ArtifactStatus.Eldritch, label: "ELDRITCH BONUS", getText: () => artifact.data.eldritchBonus!, labelColor: "#FFFFF0", },
+ { status: ArtifactStatus.Sovereign, label: "SOVEREIGN BONUS", getText: () => artifact.data.sovereignBonus!, labelColor: "#7FFFD4" },
+ { status: ArtifactStatus.Omnipotent, label: "OMNIPOTENT BONUS", getText: () => artifact.data.omnipotentBonus!, labelColor: "#4ec4ff" },
+ { status: ArtifactStatus.Transcendent, label: "TRANSCENDENT BONUS", getText: () => artifact.data.transcendentBonus!, labelColor: "#756a6a" },
+ ];
+
+ const currentTierIndex = tiers.findIndex(tier => tier.status === artifact.status);
+ let currentTier, nextTier = undefined;
+ if (currentTierIndex === -1) {
+ // If not in the tier list, means it's either unobtained or just obtained.
+ // Only show the next tier which is Ancient.
+ nextTier = tiers[0];
+ } else {
+ // else, find the information for the current and next tiers.
+ currentTier = tiers[currentTierIndex];
+ nextTier = tiers[currentTierIndex + 1];
+ }
+
+ return (
+ <>
+ {currentTier && }
+ {nextTier && (
+
+ )}
+ >
+ );
+ })()}
@@ -328,7 +344,7 @@ function ArtifactDisplay() {
)
}
-function OverviewDisplay({silkRodeChip, starSignEquipped} : {silkRodeChip: boolean, starSignEquipped: boolean}) {
+function OverviewDisplay({ silkRodeChip, starSignEquipped }: { silkRodeChip: boolean, starSignEquipped: boolean }) {
const [sailing, setSailing] = useState();
const { theData } = useAppDataStore(useShallow(
(state) => ({ theData: state.data.getData(), lastUpdated: state.lastUpdated })
@@ -364,7 +380,7 @@ function OverviewDisplay({silkRodeChip, starSignEquipped} : {silkRodeChip: boole
- {nFormatter(Math.round(boat.getSpeedValue({ starSignEquipped:starSignEquipped, silkRodeEquipped:silkRodeChip, includeCaptain: false })))}
+ {nFormatter(Math.round(boat.getSpeedValue({ starSignEquipped: starSignEquipped, silkRodeEquipped: silkRodeChip, includeCaptain: false })))}
@@ -397,8 +413,8 @@ function OverviewDisplay({silkRodeChip, starSignEquipped} : {silkRodeChip: boole
right={true}
textSize="small"
label="Ideal dist"
- textColor={(boat.assignIsland?.data.distance || 0) > boat.getSpeedValue({starSignEquipped:starSignEquipped, silkRodeEquipped:silkRodeChip}) * (boat.minTravelTime / 60) ? 'accent-1' : ''}
- text={nFormatter(boat.getSpeedValue({starSignEquipped:starSignEquipped, silkRodeEquipped:silkRodeChip}) * (boat.minTravelTime / 60))}
+ textColor={(boat.assignIsland?.data.distance || 0) > boat.getSpeedValue({ starSignEquipped: starSignEquipped, silkRodeEquipped: silkRodeChip }) * (boat.minTravelTime / 60) ? 'accent-1' : ''}
+ text={nFormatter(boat.getSpeedValue({ starSignEquipped: starSignEquipped, silkRodeEquipped: silkRodeChip }) * (boat.minTravelTime / 60))}
tooltip={
This is how far the ship travels in the Minimum Travel Time, you want to target islands that have less distance than this.
}
@@ -415,7 +431,7 @@ function OverviewDisplay({silkRodeChip, starSignEquipped} : {silkRodeChip: boole
labelSize='xsmall'
label="Time till arrival"
component={
-
+
}
/>
}
@@ -457,9 +473,9 @@ function IslandDisplay() {
size='small'
heading={island.getUnlockText()}
body=''
- direction={TipDirection.Down}
+ direction={TipDirection.Down}
>
-
+
}
@@ -472,22 +488,23 @@ function IslandDisplay() {
{
island.artifacts.map((artifact, aIndex) => (
-
+ artifact.status == ArtifactStatus.Transcendent ? { color: '#756a6a', side: 'all' } :
+ artifact.status == ArtifactStatus.Omnipotent ? { color: '#4ec4ff', side: 'all' } :
+ artifact.status == ArtifactStatus.Sovereign ? { color: '#7FFFD4', side: 'all' } :
+ artifact.status == ArtifactStatus.Eldritch ? { color: '#FFFFF0', side: 'all' } :
+ artifact.status == ArtifactStatus.Ancient ? { color: '#FFD700', side: 'all' } :
+ undefined} style={{ opacity: artifact.status == ArtifactStatus.Unobtained ? 0.2 : 1 }}>
{artifact.getBonusText()}}
>
@@ -577,7 +594,7 @@ function Sailing() {
label="C. Shanti Minor Equipped"
onChange={(event) => {
setStarSignEquipped(event.target.checked);
- if(!event.target.checked) {
+ if (!event.target.checked) {
setSilkrode(false);
}
}}
@@ -592,9 +609,9 @@ function Sailing() {
Looks like you unlocked the C. Shanti Minor star sign
{
starSignInfinity ?
- You always get the star sign bonus thanks to the Infinite Stars Rift bonus
- :
- To avoid character checking for a global page, use this checkbox to consider it equipped or not
+ You always get the star sign bonus thanks to the Infinite Stars Rift bonus
+ :
+ To avoid character checking for a global page, use this checkbox to consider it equipped or not
}
}
@@ -633,11 +650,11 @@ function Sailing() {
))
}
- {activeTab == "Overview" && }
+ {activeTab == "Overview" && }
{activeTab == "Islands" && }
{activeTab == "Artifacts" && }
{activeTab == "Captains" && }
- {activeTab == "Boats" && }
+ {activeTab == "Boats" && }
)
}
diff --git a/data/changelog.ts b/data/changelog.ts
index 4a6fd8eb..2f9b4ff9 100644
--- a/data/changelog.ts
+++ b/data/changelog.ts
@@ -6,6 +6,17 @@ export interface ChangelogEntryData {
}
export const changelogData: ChangelogEntryData[] = [
+ {
+ version: "1.3.0",
+ title: "World 7 - Part 2",
+ date: "February 22, 2026",
+ changes: [
+ "New data from world 7 - part 2 incorporated into the site.",
+ "Some systems updated (like sailing, and refinery), but mostly untouched.",
+ "Expect some lead time until I catch up to world 7 systems and impacts.",
+ "Sorry for the delay!"
+ ]
+ },
{
version: "1.2.50",
title: "World 7",
diff --git a/data/domain/data/AchievementRepo.ts b/data/domain/data/AchievementRepo.ts
index 520ac686..fb619fe8 100644
--- a/data/domain/data/AchievementRepo.ts
+++ b/data/domain/data/AchievementRepo.ts
@@ -1533,16 +1533,16 @@ export const initAchievementRepo = () => {
"world": "Hyperion Nebula"
}),
new AchievementBase(218, {
- "name": "I Like This Pet",
+ "name": "I Like This Mob",
"qty": 1,
- "desc": "Get a Breedability III heart on at least 2 Pets within the nest.",
- "rewards": "Pet Breedability &multiplier goes up &1.20x faster",
+ "desc": "Get a Breedability III heart on at least 2 Mobs within the nest.",
+ "rewards": "Mob Breedability &multiplier goes up &1.20x faster",
"world": "Hyperion Nebula"
}),
new AchievementBase(219, {
- "name": "I LOVE These Pets",
+ "name": "I LOVE These Mobs",
"qty": 1,
- "desc": "Get a Breedability VII heart on at least 15 pets within the nest.",
+ "desc": "Get a Breedability VII heart on at least 15 Mobs within the nest.",
"rewards": "10 Tab 3 &Talent Pts",
"world": "Hyperion Nebula"
}),
@@ -1563,14 +1563,14 @@ export const initAchievementRepo = () => {
new AchievementBase(222, {
"name": "Barley Lost",
"qty": 1,
- "desc": "Fail a pet battle with the enemy team having only 5% HP or less. Wait, it's spelled HOW???",
- "rewards": "5% Pet Fight &Damage",
+ "desc": "Fail a Mob battle with the enemy team having only 5% HP or less. Wait, it's spelled HOW???",
+ "rewards": "5% Mob Fight &Damage",
"world": "Hyperion Nebula"
}),
new AchievementBase(223, {
- "name": "Petless",
+ "name": "Mobless",
"qty": 1,
- "desc": "Trash a total of 2500 pets. How could you be so heartless, so cold...",
+ "desc": "Trash a total of 2500 Mobs. How could you be so heartless, so cold...",
"rewards": "*STEAM EXCLUSIVE &*50 gems &*1 '72hr time candy'",
"world": "Hyperion Nebula"
}),
diff --git a/data/domain/data/ArcadeBonusRepo.ts b/data/domain/data/ArcadeBonusRepo.ts
index 90e214d3..2548a0be 100644
--- a/data/domain/data/ArcadeBonusRepo.ts
+++ b/data/domain/data/ArcadeBonusRepo.ts
@@ -277,7 +277,7 @@ export const initArcadeBonusRepo = () => {
"barType": -1
}),
new ArcadeBonusBase(30, {
- "effect": "+{% Breed Pet DMG",
+ "effect": "+{% Breed Mob DMG",
"x1": 40,
"x2": 100,
"func": "decay",
@@ -563,6 +563,51 @@ export const initArcadeBonusRepo = () => {
"type": "%",
"lvlUpText": "+{% Bubble LV",
"barType": 22
+ }),
+ new ArcadeBonusBase(62, {
+ "effect": "+{% Minehead Currency",
+ "x1": 25,
+ "x2": 100,
+ "func": "decay",
+ "type": "%",
+ "lvlUpText": "+{% Currency",
+ "barType": 9
+ }),
+ new ArcadeBonusBase(63, {
+ "effect": "+{% Research XP",
+ "x1": 20,
+ "x2": 100,
+ "func": "decay",
+ "type": "%",
+ "lvlUpText": "+{% XP",
+ "barType": 37
+ }),
+ new ArcadeBonusBase(64, {
+ "effect": "+{% Megacrop Chance",
+ "x1": 50,
+ "x2": 100,
+ "func": "decay",
+ "type": "%",
+ "lvlUpText": "+{% Chance",
+ "barType": 4
+ }),
+ new ArcadeBonusBase(65, {
+ "effect": "+{% New Crown Chance",
+ "x1": 15,
+ "x2": 100,
+ "func": "decay",
+ "type": "%",
+ "lvlUpText": "+{% Chance",
+ "barType": 21
+ }),
+ new ArcadeBonusBase(66, {
+ "effect": "+{% Artifact Find",
+ "x1": 60,
+ "x2": 100,
+ "func": "decay",
+ "type": "%",
+ "lvlUpText": "+{% Chance",
+ "barType": 31
})
]
}
diff --git a/data/domain/data/ArenaBonusRepo.ts b/data/domain/data/ArenaBonusRepo.ts
index 946e438c..fb0ab305 100644
--- a/data/domain/data/ArenaBonusRepo.ts
+++ b/data/domain/data/ArenaBonusRepo.ts
@@ -6,19 +6,19 @@ export class ArenaBonusBase { constructor(public index: number, public data: Are
export const initArenaBonusRepo = () => {
return [
- new ArenaBonusBase(0, {"desc": "Unlocks 3Rd Pet Battle Slot"}),
+ new ArenaBonusBase(0, {"desc": "Unlocks 3Rd Mob Battle Slot"}),
new ArenaBonusBase(1, {"desc": "+25% Library Vip Membership"}),
new ArenaBonusBase(2, {"desc": "1.20X Total Damage"}),
new ArenaBonusBase(3, {"desc": "New Post Office Upgrade Crate"}),
- new ArenaBonusBase(4, {"desc": "Unlocks 4Th Pet Battle Slot"}),
+ new ArenaBonusBase(4, {"desc": "Unlocks 4Th Mob Battle Slot"}),
new ArenaBonusBase(5, {"desc": "1.5X Monster Cash"}),
new ArenaBonusBase(6, {"desc": "New Post Office Upgrade Crate"}),
new ArenaBonusBase(7, {"desc": "-50% Kitchen Upgrade Costs"}),
- new ArenaBonusBase(8, {"desc": "Unlocks 5Th Pet Battle Slot"}),
+ new ArenaBonusBase(8, {"desc": "Unlocks 5Th Mob Battle Slot"}),
new ArenaBonusBase(9, {"desc": "New Post Office Upgrade Crate"}),
new ArenaBonusBase(10, {"desc": "+60% Library Vip Membership"}),
new ArenaBonusBase(11, {"desc": "Can Equip 3Rd Large Bubble"}),
- new ArenaBonusBase(12, {"desc": "Unlocks 6Th Pet Battle Slot"}),
+ new ArenaBonusBase(12, {"desc": "Unlocks 6Th Mob Battle Slot"}),
new ArenaBonusBase(13, {"desc": "+20% Line Width For All Players"}),
new ArenaBonusBase(14, {"desc": "2X Monster Cash"}),
new ArenaBonusBase(15, {"desc": "1.40X Total Damage"})
diff --git a/data/domain/data/ArtifactRepo.ts b/data/domain/data/ArtifactRepo.ts
index a9f68cb8..2518be85 100644
--- a/data/domain/data/ArtifactRepo.ts
+++ b/data/domain/data/ArtifactRepo.ts
@@ -19,7 +19,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "All shrines level up +300% faster!",
"sovereignBonusQty": 300,
"omnipotentBonus": "All shrines level up +400% faster!",
- "omnipotentBonusQty": 400
+ "omnipotentBonusQty": 400,
+ "transcendentBonus": "All shrines level up +500% faster!",
+ "transcendentBonusQty": 500
}),
new ArtifactBase(1, {
"name": "Maneki Kat",
@@ -34,7 +36,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(2, {
"name": "Ruble Cuble",
@@ -49,7 +53,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(3, {
"name": "Fauxory Tusk",
@@ -64,7 +70,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(4, {
"name": "Gold Relic",
@@ -79,7 +87,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "Samples grow by 5% for 100 days instead!",
"sovereignBonusQty": 3,
"omnipotentBonus": "Samples grow by 6% for 120 days instead!",
- "omnipotentBonusQty": 4
+ "omnipotentBonusQty": 4,
+ "transcendentBonus": "Samples grow by 7% for 140 days instead!",
+ "transcendentBonusQty": 5
}),
new ArtifactBase(5, {
"name": "Genie Lamp",
@@ -94,7 +104,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(6, {
"name": "Silver Ankh",
@@ -109,7 +121,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "75% chance for +1 box when completing post office orders!",
"sovereignBonusQty": 75,
"omnipotentBonus": "90% chance for +1 box when completing post office orders!",
- "omnipotentBonusQty": 90
+ "omnipotentBonusQty": 90,
+ "transcendentBonus": "95% chance for +1 box when completing post office orders!",
+ "transcendentBonusQty": 95
}),
new ArtifactBase(7, {
"name": "Emerald Relic",
@@ -124,7 +138,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "Get 1.90x more gold bars from converting!",
"sovereignBonusQty": 110,
"omnipotentBonus": "Get 2.50x more gold bars from converting!",
- "omnipotentBonusQty": 170
+ "omnipotentBonusQty": 170,
+ "transcendentBonus": "Get 3.20x more gold bars from converting!",
+ "transcendentBonusQty": 240
}),
new ArtifactBase(8, {
"name": "Fun Hippoete",
@@ -139,7 +155,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(9, {
"name": "Arrowhead",
@@ -154,7 +172,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "1.70x higher chance to get rare chests!",
"sovereignBonusQty": 70,
"omnipotentBonus": "1.90x higher chance to get rare chests!",
- "omnipotentBonusQty": 90
+ "omnipotentBonusQty": 90,
+ "transcendentBonus": "2.10x higher chance to get rare chests!",
+ "transcendentBonusQty": 110
}),
new ArtifactBase(10, {
"name": "10 AD Tablet",
@@ -169,7 +189,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(11, {
"name": "Ashen Urn",
@@ -184,7 +206,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "Applies up to character level 800 instead!",
"sovereignBonusQty": 600,
"omnipotentBonus": "Applies up to character level 1000 instead!",
- "omnipotentBonusQty": 800
+ "omnipotentBonusQty": 800,
+ "transcendentBonus": "Applies up to character level 1200 instead!",
+ "transcendentBonusQty": 1000
}),
new ArtifactBase(12, {
"name": "Amberite",
@@ -199,7 +223,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "Affects +3 additional bubbles per day!",
"sovereignBonusQty": 3,
"omnipotentBonus": "Affects +4 additional bubbles per day!",
- "omnipotentBonusQty": 4
+ "omnipotentBonusQty": 4,
+ "transcendentBonus": "Affects +5 additional bubbles per day!",
+ "transcendentBonusQty": 5
}),
new ArtifactBase(13, {
"name": "Triagulon",
@@ -214,7 +240,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(14, {
"name": "Billcye Tri",
@@ -229,7 +257,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "75% chance for +1 box when completing post office orders!",
"sovereignBonusQty": 75,
"omnipotentBonus": "90% chance for +1 box when completing post office orders!",
- "omnipotentBonusQty": 90
+ "omnipotentBonusQty": 90,
+ "transcendentBonus": "95% chance for +1 box when completing post office orders!",
+ "transcendentBonusQty": 95
}),
new ArtifactBase(15, {
"name": "Frost Relic",
@@ -244,7 +274,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(16, {
"name": "Chilled Yarn",
@@ -259,7 +291,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(17, {
"name": "Causticolumn",
@@ -274,7 +308,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(18, {
"name": "Jade Rock",
@@ -289,7 +325,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(19, {
"name": "Dreamcatcher",
@@ -304,7 +342,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(20, {
"name": "Gummy Orb",
@@ -319,7 +359,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(21, {
"name": "Fury Relic",
@@ -334,7 +376,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(22, {
"name": "Cloud Urn",
@@ -349,7 +393,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "80% chance for +1 box when completing post office orders!",
"sovereignBonusQty": 80,
"omnipotentBonus": "95% chance for +1 box when completing post office orders!",
- "omnipotentBonusQty": 95
+ "omnipotentBonusQty": 95,
+ "transcendentBonus": "97% chance for +1 box when completing post office orders!",
+ "transcendentBonusQty": 97
}),
new ArtifactBase(23, {
"name": "Weatherbook",
@@ -364,14 +410,16 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(24, {
"name": "Giants Eye",
"baseBonus": 10,
"baseFindChance": 900,
"qtyBonus": 25,
- "bonus": "+{% shiny pet breed chance per day. Stacks until successfully breeding a shiny!",
+ "bonus": "+{% Shiny Mob breed chance per day. Stacks until successfully breeding a shiny!",
"ancientBonus": "The artifact's main bonus is doubled!",
"ancientBonusQty": 1,
"eldritchBonus": "The artifact's main bonus is tripled!",
@@ -379,7 +427,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(25, {
"name": "Crystal Steak",
@@ -394,7 +444,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(26, {
"name": "Trilobite Rock",
@@ -409,7 +461,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(27, {
"name": "Opera Mask",
@@ -424,7 +478,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(28, {
"name": "Socrates",
@@ -439,7 +495,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(29, {
"name": "The True Lantern",
@@ -454,7 +512,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(30, {
"name": "The Onyx Lantern",
@@ -469,7 +529,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(31, {
"name": "The Shim Lantern",
@@ -484,7 +546,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(32, {
"name": "The Winz Lantern",
@@ -499,7 +563,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(33, {
"name": "Deathskull",
@@ -514,7 +580,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact also gives +1 Grade to 1 more Gallery Slots!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact also gives +2 Grades to a Gallery Slot!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact also gives +3 Grades to a Gallery Slot!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(34, {
"name": "Obsidian",
@@ -529,7 +597,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(35, {
"name": "Pointagon",
@@ -544,14 +614,16 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
}),
new ArtifactBase(36, {
"name": "Ender Pearl",
"baseBonus": 10,
"baseFindChance": 100000000,
"qtyBonus": 25,
- "bonus": "To be revealed in Part 2 of World 7 updates...",
+ "bonus": "+1% Research AFK gains rate!",
"ancientBonus": "The artifact's main bonus is doubled!",
"ancientBonusQty": 1,
"eldritchBonus": "The artifact's main bonus is tripled!",
@@ -559,7 +631,9 @@ export const initArtifactRepo = () => {
"sovereignBonus": "The artifact's main bonus is quadrupled!",
"sovereignBonusQty": 1,
"omnipotentBonus": "The artifact's main bonus is quintupled!",
- "omnipotentBonusQty": 1
+ "omnipotentBonusQty": 1,
+ "transcendentBonus": "The artifact's main bonus is sixtupled!",
+ "transcendentBonusQty": 1
})
]
}
diff --git a/data/domain/data/AtomColliderRepo.ts b/data/domain/data/AtomColliderRepo.ts
index 2d366221..63de305c 100644
--- a/data/domain/data/AtomColliderRepo.ts
+++ b/data/domain/data/AtomColliderRepo.ts
@@ -109,6 +109,14 @@ export const initAtomColliderRepo = () => {
"baseCost": 200000,
"bonusPerLv": 1,
"desc": "Stamp Doublers give an extra +{% MORE bonus than the normal +100% they give!"
+ }),
+ new AtomColliderBase(13, {
+ "name": "Silicon - Minehead Money Printer",
+ "growthFactor": 50000,
+ "baseExponent": 1.3,
+ "baseCost": 250000,
+ "bonusPerLv": 1,
+ "desc": "Boosts your Minehead Currency gain by +{%! This is a new multiplier, so it's always relevant!"
})
]
}
diff --git a/data/domain/data/BubbleRepo.ts b/data/domain/data/BubbleRepo.ts
index ddcf978b..cbe56499 100644
--- a/data/domain/data/BubbleRepo.ts
+++ b/data/domain/data/BubbleRepo.ts
@@ -1262,7 +1262,7 @@ export const initBubbleRepo = () => {
"x1": 40,
"x2": 40,
"func": "decay",
- "description": "+{% faster Egg Incubation Time in the Pet Nest. This will be an absolutely VITAL upgrade once you unlock pet egg rarity!",
+ "description": "+{% faster Egg Incubation Time in the Mob Nest. This will be an absolutely VITAL upgrade once you unlock mob egg rarity!",
"requirements": [{"spiceNo": "0", "quantity": 100}, {"liquidNo": "3", "quantity": 4}],
"bonusKey": "EggInc"
},
@@ -1292,7 +1292,7 @@ export const initBubbleRepo = () => {
"x1": 15,
"x2": 50,
"func": "decay",
- "description": "+{% Shiny Pet Chance for every new Rift level you reach. Go find the Rift Ripper, above the Octodars in World 4.",
+ "description": "+{% Shiny Mob Chance for every new Rift level you reach. Go find the Rift Ripper, above the Octodars in World 4.",
"requirements": [{"item": "Critter10", "quantity": 100}, {"liquidNo": "3", "quantity": 5}],
"bonusKey": "NewPetRift"
},
@@ -1969,7 +1969,7 @@ export const initBubbleRepo = () => {
"x1": 2,
"x2": 0,
"func": "add",
- "description": "+{% Pet Team Damage",
+ "description": "+{% Mob Team Damage",
"requirements": [{"item": "GalaxyC4", "quantity": -1}, {"liquidNo": "3", "quantity": -1}],
"bonusKey": "PetDmg"
},
@@ -2246,10 +2246,10 @@ export const initBubbleRepo = () => {
{
"cauldron": "Vials",
"name": "Octosoda",
- "x1": 0.4,
+ "x1": 0.2,
"x2": 0,
"func": "add",
- "description": "+{% AFK Gains rate for all World 7 skills",
+ "description": "+{% AFK Gains rate for Spelunking",
"requirements": [{"item": "Soul8", "quantity": -1}, {"liquidNo": "4", "quantity": -1}],
"bonusKey": "7skillw7afk"
},
@@ -2307,6 +2307,16 @@ export const initBubbleRepo = () => {
"requirements": [{"liquidNo": "1", "quantity": 10}],
"bonusKey": "1"
},
+ {
+ "cauldron": "Liquid Shop",
+ "name": "Weak Upg Stone",
+ "x1": 1,
+ "x2": 1,
+ "func": "0",
+ "description": "`Slaps roof of car` This bad boy can upgrade so many equipm... wait, how'd a car get in here? Gives 1 random low-quality Upgrade Stone.",
+ "requirements": [{"liquidNo": "1", "quantity": 5}],
+ "bonusKey": "1"
+ },
{
"cauldron": "Liquid Shop",
"name": "Distilled Water",
diff --git a/data/domain/data/BuildingRepo.ts b/data/domain/data/BuildingRepo.ts
index 5fb9e917..bed40e5f 100644
--- a/data/domain/data/BuildingRepo.ts
+++ b/data/domain/data/BuildingRepo.ts
@@ -21,7 +21,7 @@ export const initBuildingRepo = () => {
"name": "Talent Book Library",
"description": "Relive your youth by checking out books, and further relive your youth by never returning them! Instead, use them to boost your talent max levels. ",
"bonus": " +{% Checkout Refresh Speed",
- "lvlUpReq": [{"item": "Refinery1", "quantity": 6}, {"item": "Critter1", "quantity": 100}],
+ "lvlUpReq": [{"item": "Refinery1", "quantity": 6}, {"item": "Blank", "quantity": 0}],
"maxLvl": 101,
"costInc": 1.18,
"bonusInc": [5, 30],
@@ -31,7 +31,7 @@ export const initBuildingRepo = () => {
"name": "Death Note",
"description": "Defeat TONS of monsters to boost your Multikill Rate for each world. Upgrading this tower also boosts your base Multikill Bonus in all worlds. ",
"bonus": " +{% Multikill Bonus",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 10}, {"item": "Soul1", "quantity": 200}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 10}, {"item": "Blank", "quantity": 0}],
"maxLvl": 51,
"costInc": 1.23,
"bonusInc": [2, 50],
@@ -41,7 +41,7 @@ export const initBuildingRepo = () => {
"name": "Salt Lick",
"description": "Spend refinery salts and other World 3 Resources in return for bonuses from the hungry blobulytes! ",
"bonus": " $ Available Upgrades",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 20}, {"item": "Critter2", "quantity": 60}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 20}, {"item": "Blank", "quantity": 0}],
"maxLvl": 10,
"costInc": 2,
"bonusInc": [1, 30],
@@ -51,7 +51,7 @@ export const initBuildingRepo = () => {
"name": "Chest Space",
"description": "Just gives more Storage Chest slots, straight up. I gotchu dawg, yeh. (Passive Upgrade) ",
"bonus": " +2 Storage Chest Slots @ +{ more Storage Chest Slots",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 25}, {"item": "OakTree", "quantity": 500}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 25}, {"item": "Blank", "quantity": 0}],
"maxLvl": 25,
"costInc": 1.27,
"bonusInc": [2, 30],
@@ -61,7 +61,7 @@ export const initBuildingRepo = () => {
"name": "Cost Cruncher",
"description": "Reduces the resource costs of upgrading buildings. Doesn't affect 'building' phase cost (Passive Upgrade) ",
"bonus": " -10% Resource Cost @ -{% more Resource Cost",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 20}, {"item": "Bug4", "quantity": 500}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 20}, {"item": "Blank", "quantity": 0}],
"maxLvl": 60,
"costInc": 1.106,
"bonusInc": [1, 30],
@@ -71,7 +71,7 @@ export const initBuildingRepo = () => {
"name": "Trapper Drone",
"description": "Remotely deploy AND collect traps to and from any discovered critter location! Collect-all is based on Hunter's Eagle Eye Talent. ",
"bonus": " +{% Extra critters from all traps",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 30}, {"item": "Critter3A", "quantity": 5}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 30}, {"item": "Blank", "quantity": 0}],
"maxLvl": 15,
"costInc": 1.95,
"bonusInc": [10, 1],
@@ -81,7 +81,7 @@ export const initBuildingRepo = () => {
"name": "Automation Arm",
"description": "Automate some of the more tedious actions with the flip of a switch! Let the robots do the dirty work! ",
"bonus": " +{ Automated System, controlled via @ the Robotic Arm.",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 50}, {"item": "SnowC2", "quantity": 300}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 50}, {"item": "Blank", "quantity": 0}],
"maxLvl": 5,
"costInc": 4,
"bonusInc": [1, 1],
@@ -91,7 +91,7 @@ export const initBuildingRepo = () => {
"name": "Atom Collider",
"description": "Accelerate enough material to high speeds, and you can create the first physical atoms in this pixellated world! ",
"bonus": " Upgrade costs for atoms are {% cheaper (Increases every 10 lvs).",
- "lvlUpReq": [{"item": "Refinery6", "quantity": 10}, {"item": "LavaB2", "quantity": 25}],
+ "lvlUpReq": [{"item": "Refinery6", "quantity": 10}, {"item": "Blank", "quantity": 0}],
"maxLvl": 200,
"costInc": 1.14,
"bonusInc": [0.1, 0.1],
@@ -111,7 +111,7 @@ export const initBuildingRepo = () => {
"name": "Fireball Lobber",
"description": "Lobs exploding fireballs. @ Has medium speed, and medium damage. ",
"bonus": " +{% Damage @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery1", "quantity": 4}, {"item": "Critter1", "quantity": 50}],
+ "lvlUpReq": [{"item": "Refinery1", "quantity": 4}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.33,
"bonusInc": [20, 1.5],
@@ -121,7 +121,7 @@ export const initBuildingRepo = () => {
"name": "Boulder Roller",
"description": "Rolls a boulder forward. @ Has slow speed, and medium damage, but reliably hits multiple enemies. ",
"bonus": " +{% Damage @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 4}, {"item": "IronBar", "quantity": 30}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 4}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.276,
"bonusInc": [25, 1.6],
@@ -131,7 +131,7 @@ export const initBuildingRepo = () => {
"name": "Frozone Malone",
"description": "Casts a wave of freezing snow. @ Has slow speed, but can stack it's effect with other Freeze Towers. ",
"bonus": " +{% Range @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 7}, {"item": "BirchTree", "quantity": 200}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 7}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.246,
"bonusInc": [1.5, 1.6],
@@ -141,7 +141,7 @@ export const initBuildingRepo = () => {
"name": "Stormcaller",
"description": "Smites enemies with lightning @ Has super slow speed, but high damage. ",
"bonus": " +{% Damage @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 5}, {"item": "Critter3", "quantity": 200}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 5}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.23,
"bonusInc": [30, 1.7],
@@ -151,7 +151,7 @@ export const initBuildingRepo = () => {
"name": "Party Starter",
"description": "Confetti! @ Has no function other than its Trait Boosts. ",
"bonus": " +{% Range @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 9}, {"item": "Bug5", "quantity": 300}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 9}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.222,
"bonusInc": [4, 1.7],
@@ -161,7 +161,7 @@ export const initBuildingRepo = () => {
"name": "Kraken Cosplayer",
"description": "Summons eyeball defenders. @ Has slow speed, and just keeps monsters away. ",
"bonus": " +{% Spawn Rate @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery4", "quantity": 7}, {"item": "Dementia", "quantity": 200}],
+ "lvlUpReq": [{"item": "Refinery4", "quantity": 7}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.22,
"bonusInc": [3, 1.6],
@@ -171,7 +171,7 @@ export const initBuildingRepo = () => {
"name": "Poisonic Elder",
"description": "Poisons enemies. @ Has slow speed, but great AoE for hitting large crowds of mobs. ",
"bonus": " +{% Damage @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery5", "quantity": 10}, {"item": "GalaxyA1", "quantity": 600}],
+ "lvlUpReq": [{"item": "Refinery5", "quantity": 10}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.21,
"bonusInc": [15, 1.6],
@@ -181,7 +181,7 @@ export const initBuildingRepo = () => {
"name": "Voidinator",
"description": "Casts a wave of null and void, removing enemy colours. ",
"bonus": " +{% Range @ +}% Lower Upgrade Costs in Worship",
- "lvlUpReq": [{"item": "Refinery6", "quantity": 20}, {"item": "LavaA1", "quantity": 5000}],
+ "lvlUpReq": [{"item": "Refinery6", "quantity": 20}, {"item": "Blank", "quantity": 0}],
"maxLvl": 50,
"costInc": 1.4,
"bonusInc": [0.7, 0.8],
@@ -201,7 +201,7 @@ export const initBuildingRepo = () => {
"name": "Isaccian Shrine",
"description": "This shrine increases the Max HP and Total Defence of characters on the same map. Level it up by claiming AFK Gains on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery1", "quantity": 5}, {"item": "Soul1", "quantity": 30}],
+ "lvlUpReq": [{"item": "Refinery1", "quantity": 5}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.15,
"bonusInc": [10, 30],
@@ -211,7 +211,7 @@ export const initBuildingRepo = () => {
"name": "Crystal Shrine",
"description": "This shrine increases Shrine Level Up Rate for all other shrines on the same map. Level it up by claiming AFK Gains on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 4}, {"item": "GoldBar", "quantity": 25}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 4}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.13,
"bonusInc": [10, 30],
@@ -221,7 +221,7 @@ export const initBuildingRepo = () => {
"name": "Pantheon Shrine",
"description": "This shrine increases the Carry Capacity of all characters on the same map. Level it up by claiming AFK Gains on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery2", "quantity": 7}, {"item": "JungleTree", "quantity": 300}],
+ "lvlUpReq": [{"item": "Refinery2", "quantity": 7}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.115,
"bonusInc": [10, 30],
@@ -231,7 +231,7 @@ export const initBuildingRepo = () => {
"name": "Clover Shrine",
"description": "This shrine increases the Drop Rate of all characters on the same map. Level it up by claiming AFK Gains on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 5}, {"item": "Soul3", "quantity": 50}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 5}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.11,
"bonusInc": [10, 30],
@@ -241,7 +241,7 @@ export const initBuildingRepo = () => {
"name": "Summereading Shrine",
"description": "This shrine increases all EXP gain for all characters on the same map. Level it up by claiming AFK Gains on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery3", "quantity": 10}, {"item": "Bug6", "quantity": 100}],
+ "lvlUpReq": [{"item": "Refinery3", "quantity": 10}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.106,
"bonusInc": [10, 30],
@@ -251,7 +251,7 @@ export const initBuildingRepo = () => {
"name": "Crescent Shrine",
"description": "This shrine increases Crystal and Giant Spawn chance, and Active EXP gain, of all characters on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery4", "quantity": 12}, {"item": "Void", "quantity": 200}],
+ "lvlUpReq": [{"item": "Refinery4", "quantity": 12}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.106,
"bonusInc": [10, 30],
@@ -261,7 +261,7 @@ export const initBuildingRepo = () => {
"name": "Undead Shrine",
"description": "This shrine increases the Respawn rate of all monsters on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery5", "quantity": 14}, {"item": "Tree7", "quantity": 350}],
+ "lvlUpReq": [{"item": "Refinery5", "quantity": 14}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.1,
"bonusInc": [10, 30],
@@ -271,7 +271,7 @@ export const initBuildingRepo = () => {
"name": "Primordial Shrine",
"description": "This shrine increases the AFK Gain Rate of all characters on the same map. ",
"bonus": " +{% Level Up Rate",
- "lvlUpReq": [{"item": "Refinery6", "quantity": 10}, {"item": "SnowC4a", "quantity": 1}],
+ "lvlUpReq": [{"item": "Refinery6", "quantity": 10}, {"item": "Blank", "quantity": 0}],
"maxLvl": 100,
"costInc": 1.09,
"bonusInc": [10, 30],
diff --git a/data/domain/data/CardDropChanceRepo.ts b/data/domain/data/CardDropChanceRepo.ts
index 8a2e94db..29928381 100644
--- a/data/domain/data/CardDropChanceRepo.ts
+++ b/data/domain/data/CardDropChanceRepo.ts
@@ -137,6 +137,18 @@ export const initCardDropChanceRepo = () => {
new CardDropChanceBase("CardsJ10", {"dropChance": 2e-07}),
new CardDropChanceBase("CardsJ11", {"dropChance": 1.5e-07}),
new CardDropChanceBase("CardsJ12", {"dropChance": 1e-07}),
+ new CardDropChanceBase("CardsJ13", {"dropChance": 1e-05}),
+ new CardDropChanceBase("CardsJ14", {"dropChance": 7e-06}),
+ new CardDropChanceBase("CardsJ15", {"dropChance": 5e-06}),
+ new CardDropChanceBase("CardsJ16", {"dropChance": 3e-06}),
+ new CardDropChanceBase("CardsJ17", {"dropChance": 1.5e-06}),
+ new CardDropChanceBase("CardsJ18", {"dropChance": 7e-07}),
+ new CardDropChanceBase("CardsJ19", {"dropChance": 5e-07}),
+ new CardDropChanceBase("CardsJ20", {"dropChance": 3e-07}),
+ new CardDropChanceBase("CardsJ21", {"dropChance": 2e-07}),
+ new CardDropChanceBase("CardsJ22", {"dropChance": 1e-07}),
+ new CardDropChanceBase("CardsJ23", {"dropChance": 1e-07}),
+ new CardDropChanceBase("CardsJ24", {"dropChance": 1e-07}),
new CardDropChanceBase("CardsY0", {"dropChance": 0.05}),
new CardDropChanceBase("CardsY21", {"dropChance": 0}),
new CardDropChanceBase("CardsY3", {"dropChance": 0.05}),
@@ -191,6 +203,8 @@ export const initCardDropChanceRepo = () => {
new CardDropChanceBase("CardsF42", {"dropChance": 8e-05}),
new CardDropChanceBase("CardsF43", {"dropChance": 3e-05}),
new CardDropChanceBase("CardsF48", {"dropChance": 5e-06}),
+ new CardDropChanceBase("CardsF49", {"dropChance": 1e-06}),
+ new CardDropChanceBase("CardsF50", {"dropChance": 3e-07}),
new CardDropChanceBase("CardsC8", {"dropChance": 1e-08}),
new CardDropChanceBase("CardsC9", {"dropChance": 0.0018}),
new CardDropChanceBase("CardsC10", {"dropChance": 0.0016}),
diff --git a/data/domain/data/CardRepo.ts b/data/domain/data/CardRepo.ts
index f6a232b1..9d6ca457 100644
--- a/data/domain/data/CardRepo.ts
+++ b/data/domain/data/CardRepo.ts
@@ -993,11 +993,27 @@ export const initCardRepo = () => {
new CardDataBase("SpelunkingCard3", {
"cardID": "F48",
"category": "Hard Resources",
- "perTier": 50000,
+ "perTier": 40000,
"effect": "+{% Spelunking EXP",
"bonus": 8,
"order": 33
}),
+ new CardDataBase("SpelunkingCard4", {
+ "cardID": "F49",
+ "category": "Hard Resources",
+ "perTier": 150000,
+ "effect": "+{% Spelunking AFK Gain",
+ "bonus": 2,
+ "order": 34
+ }),
+ new CardDataBase("SpelunkingCard5", {
+ "cardID": "F50",
+ "category": "Hard Resources",
+ "perTier": 2.5e+06,
+ "effect": "+{% Spelunking EXP",
+ "bonus": 15,
+ "order": 35
+ }),
new CardDataBase("mushP", {
"cardID": "G1",
"category": "Hyperion Nebula",
@@ -1454,13 +1470,109 @@ export const initCardRepo = () => {
"bonus": 1,
"order": 12
}),
+ new CardDataBase("w7b1", {
+ "cardID": "J13",
+ "category": "Shimmerfin Deep",
+ "perTier": 100000,
+ "effect": "+{% Research EXP (Passive)",
+ "bonus": 1,
+ "order": 13
+ }),
+ new CardDataBase("w7b2", {
+ "cardID": "J14",
+ "category": "Shimmerfin Deep",
+ "perTier": 300000,
+ "effect": "+{% Gaming Bit Multi (Passive)",
+ "bonus": 20,
+ "order": 14
+ }),
+ new CardDataBase("w7b3", {
+ "cardID": "J15",
+ "category": "Shimmerfin Deep",
+ "perTier": 500000,
+ "effect": "+{% Flaggy Rate Multi (Passive)",
+ "bonus": 10,
+ "order": 15
+ }),
+ new CardDataBase("w7b4", {
+ "cardID": "J16",
+ "category": "Shimmerfin Deep",
+ "perTier": 900000,
+ "effect": "+{% Research EXP (Passive)",
+ "bonus": 2,
+ "order": 16
+ }),
+ new CardDataBase("w7b5", {
+ "cardID": "J17",
+ "category": "Shimmerfin Deep",
+ "perTier": 1.5e+06,
+ "effect": "+{% Farming EVO Multi (Passive)",
+ "bonus": 50,
+ "order": 17
+ }),
+ new CardDataBase("w7b6", {
+ "cardID": "J18",
+ "category": "Shimmerfin Deep",
+ "perTier": 3.5e+06,
+ "effect": "+{% Class EXP Multi",
+ "bonus": 5,
+ "order": 18
+ }),
+ new CardDataBase("w7b7", {
+ "cardID": "J19",
+ "category": "Shimmerfin Deep",
+ "perTier": 6e+06,
+ "effect": "+{% Drop Rate Multi",
+ "bonus": 1,
+ "order": 19
+ }),
+ new CardDataBase("w7b8", {
+ "cardID": "J20",
+ "category": "Shimmerfin Deep",
+ "perTier": 1e+07,
+ "effect": "+{% Drop Rate Multi",
+ "bonus": 1,
+ "order": 20
+ }),
+ new CardDataBase("w7b9", {
+ "cardID": "J21",
+ "category": "Shimmerfin Deep",
+ "perTier": 2e+07,
+ "effect": "+{% Drop Rate Multi",
+ "bonus": 1,
+ "order": 21
+ }),
+ new CardDataBase("w7b10", {
+ "cardID": "J22",
+ "category": "Shimmerfin Deep",
+ "perTier": 3e+07,
+ "effect": "+{% Drop Rate Multi",
+ "bonus": 1,
+ "order": 22
+ }),
+ new CardDataBase("w7b11", {
+ "cardID": "J23",
+ "category": "Shimmerfin Deep",
+ "perTier": 2e+07,
+ "effect": "+{% Research AFK gain (Passive)",
+ "bonus": 1,
+ "order": 23
+ }),
+ new CardDataBase("w7b12", {
+ "cardID": "J24",
+ "category": "Shimmerfin Deep",
+ "perTier": 1e+08,
+ "effect": "+{% Drop Rate Multi",
+ "bonus": 1,
+ "order": 24
+ }),
new CardDataBase("Crystal6", {
"cardID": "J99",
"category": "Shimmerfin Deep",
"perTier": 2.5e+06,
"effect": "+{% Damage Multi (Passive)",
"bonus": 1.5,
- "order": 13
+ "order": 25
}),
new CardDataBase("frogP", {
"cardID": "X0",
diff --git a/data/domain/data/CompanionRepo.ts b/data/domain/data/CompanionRepo.ts
index a0418590..74ef9416 100644
--- a/data/domain/data/CompanionRepo.ts
+++ b/data/domain/data/CompanionRepo.ts
@@ -14,7 +14,7 @@ export const initCompanionRepo = () => {
"x2": -22,
"x3": -14,
"x4": 2000,
- "x5": 140
+ "x5": 165
}),
new CompanionBase(1, {
"id": "rift2",
@@ -24,7 +24,7 @@ export const initCompanionRepo = () => {
"x2": 6,
"x3": -14,
"x4": 450,
- "x5": 130
+ "x5": 125
}),
new CompanionBase(2, {
"id": "ram",
@@ -34,17 +34,17 @@ export const initCompanionRepo = () => {
"x2": 16,
"x3": -19,
"x4": 150,
- "x5": 125
+ "x5": 120
}),
new CompanionBase(3, {
"id": "Crystal3",
- "desc": "{100% Drop Rate and Exp from monsters",
+ "desc": "{100% Drop Rate and Class Exp",
"bonus": 100,
"x1": -19,
"x2": 20,
"x3": -8,
"x4": 150,
- "x5": 120
+ "x5": 110
}),
new CompanionBase(4, {
"id": "sheep",
@@ -54,7 +54,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -11,
"x4": 10,
- "x5": 110
+ "x5": 80
}),
new CompanionBase(5, {
"id": "w5b1",
@@ -64,7 +64,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 10,
- "x5": 110
+ "x5": 70
}),
new CompanionBase(6, {
"id": "beanG",
@@ -74,7 +74,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -22,
"x4": 10,
- "x5": 110
+ "x5": 65
}),
new CompanionBase(7, {
"id": "slimeG",
@@ -84,7 +84,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -1,
"x4": 5,
- "x5": 100
+ "x5": 50
}),
new CompanionBase(8, {
"id": "jarSand",
@@ -94,7 +94,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -3,
"x4": 5,
- "x5": 100
+ "x5": 50
}),
new CompanionBase(9, {
"id": "bloque",
@@ -104,7 +104,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -17,
"x4": 5,
- "x5": 100
+ "x5": 50
}),
new CompanionBase(10, {
"id": "frogG",
@@ -114,7 +114,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 5,
- "x5": 100
+ "x5": 40
}),
new CompanionBase(11, {
"id": "slimeBz",
@@ -144,7 +144,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -19,
"x4": 250,
- "x5": 130
+ "x5": 140
}),
new CompanionBase(14, {
"id": "rift3",
@@ -164,7 +164,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -19,
"x4": 100,
- "x5": 120
+ "x5": 110
}),
new CompanionBase(16, {
"id": "Crystal4",
@@ -174,7 +174,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 100,
- "x5": 120
+ "x5": 110
}),
new CompanionBase(17, {
"id": "w5b6",
@@ -184,7 +184,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -15,
"x4": 100,
- "x5": 120
+ "x5": 100
}),
new CompanionBase(18, {
"id": "frogBIG",
@@ -194,7 +194,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -29,
"x4": 10,
- "x5": 110
+ "x5": 80
}),
new CompanionBase(19, {
"id": "potato",
@@ -204,7 +204,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -25,
"x4": 10,
- "x5": 110
+ "x5": 70
}),
new CompanionBase(20, {
"id": "w4b1",
@@ -214,7 +214,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 10,
- "x5": 110
+ "x5": 60
}),
new CompanionBase(21, {
"id": "frogP",
@@ -224,7 +224,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 5,
- "x5": 100
+ "x5": 55
}),
new CompanionBase(22, {
"id": "glass",
@@ -234,7 +234,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 5,
- "x5": 100
+ "x5": 50
}),
new CompanionBase(23, {
"id": "mushG",
@@ -244,7 +244,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 5,
- "x5": 100
+ "x5": 30
}),
new CompanionBase(24, {
"id": "Pet10",
@@ -264,7 +264,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -20,
"x4": 500,
- "x5": 100
+ "x5": 110
}),
new CompanionBase(26, {
"id": "Pet3",
@@ -284,7 +284,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -33,
"x4": 500,
- "x5": 135
+ "x5": 150
}),
new CompanionBase(28, {
"id": "w7d1",
@@ -304,7 +304,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -8,
"x4": 100,
- "x5": 80
+ "x5": 115
}),
new CompanionBase(30, {
"id": "Pet1",
@@ -314,7 +314,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -5,
"x4": 100,
- "x5": 100
+ "x5": 110
}),
new CompanionBase(31, {
"id": "Pet2",
@@ -324,7 +324,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -8,
"x4": 100,
- "x5": 15
+ "x5": 90
}),
new CompanionBase(32, {
"id": "Pet4",
@@ -334,7 +334,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -13,
"x4": 100,
- "x5": 120
+ "x5": 125
}),
new CompanionBase(33, {
"id": "Pet5",
@@ -344,7 +344,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -10,
"x4": 100,
- "x5": 15
+ "x5": 100
}),
new CompanionBase(34, {
"id": "Pet6",
@@ -354,7 +354,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -9,
"x4": 100,
- "x5": 15
+ "x5": 80
}),
new CompanionBase(35, {
"id": "Pet8",
@@ -364,7 +364,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -13,
"x4": 100,
- "x5": 15
+ "x5": 110
}),
new CompanionBase(36, {
"id": "Pet11",
@@ -374,7 +374,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -11,
"x4": 100,
- "x5": 15
+ "x5": 100
}),
new CompanionBase(37, {
"id": "w7e1",
@@ -394,7 +394,7 @@ export const initCompanionRepo = () => {
"x2": 0,
"x3": -15,
"x4": 250,
- "x5": 140
+ "x5": 130
}),
new CompanionBase(39,