add war and strike 4

This commit is contained in:
IvarK 2022-01-31 21:03:50 +02:00
parent bd4f14255d
commit 49170d0432
6 changed files with 44 additions and 3 deletions

View File

@ -270,6 +270,7 @@ export const PelleStrikes = (function() {
infinity: new PelleStrikeState(db.infinity),
powerGalaxies: new PelleStrikeState(db.powerGalaxies),
eternity: new PelleStrikeState(db.eternity),
ECs: new PelleStrikeState(db.ECs),
all: Object.keys(db).map(key => new PelleStrikeState(db[key]))
};
}());
@ -380,6 +381,7 @@ export const PelleRifts = (function() {
famine: new RiftState(db.famine),
pestilence: new RiftState(db.pestilence),
chaos: new RiftState(db.chaos),
war: new RiftState(db.war),
all,
totalMilestones: () => all.flatMap(r => r.milestones.filter((m, idx) => r.hasMilestone(idx))).length
};

View File

@ -664,6 +664,10 @@ window.player = {
chaos: {
fill: DC.D0,
active: false
},
war: {
fill: DC.D0,
active: false
}
},
progressBits: 0

View File

@ -172,6 +172,13 @@ GameDatabase.celestials.pelle = (function() {
penaltyDescription: "Replicanti speed scales harsher after 1e2000",
rewardDescription: "Unlock Chaos",
rift: () => PelleRifts.chaos
},
ECs: {
id: 4,
requirementDescription: "Reach 115 total Time Theorems",
penaltyDescription: "Famine IP multiplier is reduced in Eternity Challenges",
rewardDescription: "Unlock War",
rift: () => PelleRifts.war
}
},
rifts: {
@ -307,6 +314,32 @@ GameDatabase.celestials.pelle = (function() {
description: "nice",
},
]
},
war: {
id: 4,
key: "war",
name: "War",
description: "When active, spends 3% of your EP per second to increase War.",
effectDescription: x => `Increases EP formula base by +${format(x, 2, 2)}`,
strike: () => PelleStrikes.ECs,
percentage: totalFill => totalFill.plus(1).log10() ** 0.4 / 4000 ** 0.4,
percentageToFill: percentage => Decimal.pow(10, percentage ** 2.5 * 4000).minus(1),
effect: totalFill => 58 * totalFill.plus(1).log10() ** 0.2 / 4000 ** 0.2,
currency: () => Currency.eternityPoints,
milestones: [
{
requirement: 0.25,
description: "Never gonna give you up"
},
{
requirement: 0.50,
description: "Never gonna let you down"
},
{
requirement: 0.75,
description: "Never gonna run around, and desert you",
},
]
}
}
};

View File

@ -47,7 +47,8 @@ export class TimeTheoremPurchaseType {
}
purchase(bulk) {
if (this.currency.lt(this.cost) || (Pelle.isDoomed && !PelleStrikes.eternity.hasStrike)) return false;
if (this.currency.lt(this.cost) ||
(Pelle.isDoomed && player.eternities.eq(0))) return false;
let purchased = false;
const amount = this.bulkPossible;
const buyFn = cost => (Perk.ttFree.isBought ? this.currency.gte(cost) : this.currency.purchase(cost));
@ -63,6 +64,7 @@ export class TimeTheoremPurchaseType {
purchased = true;
}
if (purchased) player.requirementChecks.reality.noPurchasedTT = false;
if (TimeTheorems.totalPurchased() > 115) PelleStrikes.ECs.trigger();
return purchased;
}

View File

@ -776,7 +776,7 @@ export function getTTPerSecond() {
if (GlyphAlteration.isAdded("dilation")) ttMult *= getSecondaryGlyphEffect("dilationTTgen");
// Glyph TT generation
const glyphTT = Teresa.isRunning || Enslaved.isRunning
const glyphTT = Teresa.isRunning || Enslaved.isRunning || Pelle.isDoomed
? 0
: getAdjustedGlyphEffect("dilationTTgen") * ttMult;

2
package-lock.json generated
View File

@ -1,5 +1,5 @@
{
"name": "HahaSlabWontGetHere",
"name": "IToughtAboutCurseWordsButThatWouldBeMeanToOmsi",
"lockfileVersion": 2,
"requires": true,
"packages": {