generated from incremental-social/The-Modding-Tree
101 lines
No EOL
3.2 KiB
JavaScript
101 lines
No EOL
3.2 KiB
JavaScript
let modInfo = {
|
|
name: "Progressbar Incremental",
|
|
id: "nif/pbic",
|
|
author: "Nif",
|
|
pointsName: "points",
|
|
modFiles: ["data/ranks.js", "data/levels.js", "data/progress.js", "data/super progress.js", "data/files.js", "data/integrals.js", "data/achievements.js", "data/tree.js"],
|
|
|
|
discordName: "",
|
|
discordLink: "",
|
|
initialStartPoints: new Decimal (1), // Used for hard resets and new players
|
|
offlineLimit: 1, // In hours
|
|
}
|
|
|
|
// Set your version in num and name
|
|
let VERSION = {
|
|
num: "1.0",
|
|
name: "The first release.",
|
|
}
|
|
|
|
let changelog = `<h1>Changelog:</h1><br><br>
|
|
<h3>v1.0</h3><br>
|
|
- I've given up trying to log all of the changes I'm making.`
|
|
|
|
let winText = `Download 100% complete.<br><br>You won! Congratulations!<br>More content coming soon...`
|
|
|
|
// If you add new functions anywhere inside of a layer, and those functions have an effect when called, add them here.
|
|
// (The ones here are examples, all official functions are already taken care of)
|
|
var doNotCallTheseFunctionsEveryTick = ["blowUpEverything"]
|
|
|
|
function getStartPoints(){
|
|
return new Decimal(modInfo.initialStartPoints)
|
|
}
|
|
|
|
// Determines if it should show points/sec
|
|
function canGenPoints(){
|
|
return getAlphaLevel().gte(0)
|
|
}
|
|
|
|
// Calculate points/sec!
|
|
function getPointGen() {
|
|
if(!canGenPoints()) return new Decimal(0)
|
|
// additive
|
|
let gain = getAlphaEffect()
|
|
gain = gain.add(getEtaEffect())
|
|
// multiplicative
|
|
gain = gain.mul(getBetaEffect())
|
|
gain = gain.mul(getGammaEffect())
|
|
gain = gain.mul(getDeltaEffect())
|
|
gain = gain.mul(getZetaEffect())
|
|
gain = gain.mul(getLambdaEffect())
|
|
gain = gain.mul(tmp.ach.effect)
|
|
if (hasMilestone('f', 0)) gain = gain.mul(getTotalLevel().add(1).log(5).add(1))
|
|
if (hasMilestone('f', 1)) gain = gain.mul(3)
|
|
// exponentiative
|
|
if (gain.gte(1)) {
|
|
gain = gain.pow(getEpsilonEffect())
|
|
gain = gain.pow(getIotaEffect())
|
|
gain = gain.pow(buyableEffect('sp', 12))
|
|
if (hasMilestone('f', 3)) gain = gain.pow(2)
|
|
if (hasUpgrade('f', 11)) gain = gain.pow(upgradeEffect('f', 11))
|
|
}
|
|
// softcaps
|
|
gain = softcap(gain, getKappaEffect().mul(1000), d => d.add(1).log(Math.E).add(1).pow(2).sub(1).div(2))
|
|
gain = softcap(gain, Decimal.pow(2, 128), _ => new Decimal(0), player.points)
|
|
return gain
|
|
}
|
|
|
|
// You can add non-layer related variables that should to into "player" and be saved here, along with default values
|
|
function addedPlayerData() { return {
|
|
}}
|
|
|
|
// Display extra things at the top of the page
|
|
var displayThings = [
|
|
"All exponentiative upgrades only take affect above 1.",
|
|
() => getPointGen().gte(getKappaEffect().mul(1000)) ? "Your points per second are being logarithmically softcapped over " + getKappaEffect().mul(1000) + "/s" : ""
|
|
]
|
|
|
|
// Determines when the game "ends"
|
|
function isEndgame() {
|
|
return player.i.points.gt(0)
|
|
}
|
|
|
|
|
|
|
|
// Less important things beyond this point!
|
|
|
|
// Style for the background, can be a function
|
|
var backgroundStyle = {
|
|
|
|
}
|
|
|
|
// You can change this if you have things that can be messed up by long tick lengths
|
|
function maxTickLength() {
|
|
return(3600) // Default is 1 hour which is just arbitrarily large
|
|
}
|
|
|
|
// Use this if you need to undo inflation from an older version. If the version is older than the version that fixed the issue,
|
|
// you can cap their current resources with this.
|
|
function fixOldSave(oldVersion) {
|
|
|
|
} |