238 lines
11 KiB
JavaScript
238 lines
11 KiB
JavaScript
|
addLayer("l", {
|
||
|
name: "lectures",
|
||
|
symbol: "L",
|
||
|
color: lecturesColor,
|
||
|
branches: [ 's', 'f' ],
|
||
|
row: 3,
|
||
|
position: 4,
|
||
|
resource: "lectures",
|
||
|
baseResource: "fame",
|
||
|
infoboxes: {
|
||
|
lore: {
|
||
|
title: "lectures",
|
||
|
body: `Realizing you are both <span style="color: ${fameColor}">famous</span> and an extensive <span style="color: ${schoolColor}">multi-college education</span>, you have the bright idea of becoming an <span style="color: ${lecturesColor}">adjunt professor</span>. It won't benefit you directly, but with enough <span style="color: ${lecturesColor}">lectures</span> under your belt you should be able to start hiring <span style="color: ${lecturesColor}">Teacher Assistants</span> to <del>take advantage of</del> help you out.<br/><br/>` +
|
||
|
`Each <span style="color: ${lecturesColor}">TA</span> you unlock will gain experience over time - the more <span style="color: ${lecturesColor}">lectures</span> you teach, the more experience they can earn! As they level up they'll be able to boost different layers, in addition to their regular duty.`
|
||
|
}
|
||
|
},
|
||
|
resetDescription: "Teach ",
|
||
|
startData() { return {
|
||
|
unlocked: false,
|
||
|
points: new Decimal(0),
|
||
|
gabenExp: new Decimal(0),
|
||
|
gabenLevel: new Decimal(0),
|
||
|
lExp: new Decimal(0),
|
||
|
lLevel: new Decimal(0),
|
||
|
carmackExp: new Decimal(0),
|
||
|
carmackLevel: new Decimal(0),
|
||
|
thompsonExp: new Decimal(0),
|
||
|
thompsonLevel: new Decimal(0),
|
||
|
meierExp: new Decimal(0),
|
||
|
meierLevel: new Decimal(0)
|
||
|
}},
|
||
|
layerShown() { return player[this.layer].unlocked || challengeCompletions("d", 12) > 0 },
|
||
|
type: "normal",
|
||
|
requires: new Decimal(13),
|
||
|
baseAmount() { return player.f.points },
|
||
|
exponent: 10,
|
||
|
gainMult() {
|
||
|
mult = new Decimal(1)
|
||
|
return mult
|
||
|
},
|
||
|
gainExp() {
|
||
|
return new Decimal(1)
|
||
|
},
|
||
|
effect() {
|
||
|
return player[this.layer].points.sqrt()
|
||
|
},
|
||
|
effectDescription() {
|
||
|
return `which generate ${format(this.effect())} experience for your TAs every second`
|
||
|
},
|
||
|
update(diff) {
|
||
|
const effect = this.effect().mul(diff)
|
||
|
if (hasUpgrade(this.layer, 11)) player[this.layer].gabenExp = player[this.layer].gabenExp.add(effect)
|
||
|
if (player[this.layer].gabenExp.gte(this.bars.gaben.cost())) {
|
||
|
player[this.layer].gabenLevel = player[this.layer].gabenLevel.add(1)
|
||
|
player[this.layer].gabenExp = new Decimal(0)
|
||
|
}
|
||
|
if (hasUpgrade(this.layer, 12)) player[this.layer].lExp = player[this.layer].lExp.add(effect)
|
||
|
if (player[this.layer].lExp.gte(this.bars.l.cost())) {
|
||
|
player[this.layer].lLevel = player[this.layer].lLevel.add(1)
|
||
|
player[this.layer].lExp = new Decimal(0)
|
||
|
}
|
||
|
if (hasUpgrade(this.layer, 13)) player[this.layer].carmackExp = player[this.layer].carmackExp.add(effect)
|
||
|
if (player[this.layer].carmackExp.gte(this.bars.carmack.cost())) {
|
||
|
player[this.layer].carmackLevel = player[this.layer].carmackLevel.add(1)
|
||
|
player[this.layer].carmackExp = new Decimal(0)
|
||
|
}
|
||
|
if (hasUpgrade(this.layer, 14)) player[this.layer].thompsonExp = player[this.layer].thompsonExp.add(effect)
|
||
|
if (player[this.layer].thompsonExp.gte(this.bars.thompson.cost())) {
|
||
|
player[this.layer].thompsonLevel = player[this.layer].thompsonLevel.add(1)
|
||
|
player[this.layer].thompsonExp = new Decimal(0)
|
||
|
}
|
||
|
if (hasUpgrade(this.layer, 15)) player[this.layer].meierExp = player[this.layer].meierExp.add(effect)
|
||
|
if (player[this.layer].meierExp.gte(this.bars.meier.cost())) {
|
||
|
player[this.layer].meierLevel = player[this.layer].meierLevel.add(1)
|
||
|
player[this.layer].meierExp = new Decimal(0)
|
||
|
}
|
||
|
},
|
||
|
roundUpCost: true,
|
||
|
hotkeys: [
|
||
|
{
|
||
|
key: "l",
|
||
|
description: "Press L to teach lectures",
|
||
|
onPress() { if (canReset(this.layer)) doReset(this.layer) }
|
||
|
}
|
||
|
],
|
||
|
tabFormat: [
|
||
|
["infobox", "lore"],
|
||
|
["display-text", () => inChallenge("d", 21) ? `<h2 style="color: red;">Disabled during ${layers.d.challenges[player.d.activeChallenge].name} degree plan</h2>` : ""],
|
||
|
"main-display",
|
||
|
"prestige-button",
|
||
|
"blank",
|
||
|
["display-text", "<h2>Gabriel Newell</h2>"],
|
||
|
["row", [["upgrade", 11], "blank", ["bar", "gaben"]]],
|
||
|
"blank",
|
||
|
["display-text", () => hasUpgrade("l", 11) ? "<h2>L</h2>" : ""],
|
||
|
["row", [["upgrade", 12], "blank", ["bar", "l"]]],
|
||
|
"blank",
|
||
|
["display-text", () => hasUpgrade("l", 12) ? "<h2>Jean Carmack</h2>" : ""],
|
||
|
["row", [["upgrade", 13], "blank", ["bar", "carmack"]]],
|
||
|
"blank",
|
||
|
["display-text", () => hasUpgrade("l", 13) ? "<h2>Jen Thompson</h2>" : ""],
|
||
|
["row", [["upgrade", 14], "blank", ["bar", "thompson"]]],
|
||
|
"blank",
|
||
|
["display-text", () => challengeCompletions("d", 22) > 0 ? "<h2>Sidney Meier</h2>" : ""],
|
||
|
["row", [["upgrade", 15], "blank", ["bar", "meier"]]]
|
||
|
],
|
||
|
bars: {
|
||
|
gaben: {
|
||
|
fillStyle: {'background-color' : "#1b2838"},
|
||
|
baseStyle: {'background-color' : "#171a21"},
|
||
|
textStyle: {'color': '#04e050'},
|
||
|
borderStyle() {return {}},
|
||
|
direction: RIGHT,
|
||
|
width: 400,
|
||
|
height: 140,
|
||
|
progress() {
|
||
|
return (player[this.layer].gabenExp.div(this.cost())).toNumber()
|
||
|
},
|
||
|
display() {
|
||
|
return `Current TA Level: ${formatWhole(player[this.layer].gabenLevel)}<br/><br/>${format(player[this.layer].gabenExp)} / ${formatWhole(this.cost())} to next level`
|
||
|
},
|
||
|
cost() { return new Decimal(4).pow(player[this.layer].gabenLevel).mul(2000) },
|
||
|
unlocked: true
|
||
|
},
|
||
|
l: {
|
||
|
fillStyle: {'background-color' : "#2B5293"},
|
||
|
baseStyle: {'background-color' : "#2b772b"},
|
||
|
textStyle: {'color': '#04e050'},
|
||
|
borderStyle() {return {}},
|
||
|
direction: RIGHT,
|
||
|
width: 400,
|
||
|
height: 140,
|
||
|
progress() {
|
||
|
return (player[this.layer].lExp.div(this.cost())).toNumber()
|
||
|
},
|
||
|
display() {
|
||
|
return `Current TA Level: ${formatWhole(player[this.layer].lLevel)}<br/><br/>${format(player[this.layer].lExp)} / ${formatWhole(this.cost())} to next level`
|
||
|
},
|
||
|
cost() { return new Decimal(100).pow(player[this.layer].lLevel).mul(2401) },
|
||
|
unlocked() { return hasUpgrade("l", 11) }
|
||
|
},
|
||
|
carmack: {
|
||
|
fillStyle: {'background-color' : "#cb5e29"},
|
||
|
baseStyle: {'background-color' : "#692f17"},
|
||
|
textStyle: {'color': '#04e050'},
|
||
|
borderStyle() {return {}},
|
||
|
direction: RIGHT,
|
||
|
width: 400,
|
||
|
height: 140,
|
||
|
progress() {
|
||
|
return (player[this.layer].carmackExp.div(this.cost())).toNumber()
|
||
|
},
|
||
|
display() {
|
||
|
return `Current TA Level: ${formatWhole(player[this.layer].carmackLevel)}<br/><br/>${format(player[this.layer].carmackExp)} / ${formatWhole(this.cost())} to next level`
|
||
|
},
|
||
|
cost() { return new Decimal(6).pow(player[this.layer].carmackLevel).mul(10000) },
|
||
|
unlocked() { return hasUpgrade("l", 12) }
|
||
|
},
|
||
|
thompson: {
|
||
|
fillStyle: {'background-color' : "#ffffff"},
|
||
|
baseStyle: {'background-color' : "#000000"},
|
||
|
textStyle: {'color': '#04e050'},
|
||
|
borderStyle() {return {}},
|
||
|
direction: RIGHT,
|
||
|
width: 400,
|
||
|
height: 140,
|
||
|
progress() {
|
||
|
return (player[this.layer].thompsonExp.div(this.cost())).toNumber()
|
||
|
},
|
||
|
display() {
|
||
|
return `Current TA Level: ${formatWhole(player[this.layer].thompsonLevel)}<br/><br/>${format(player[this.layer].thompsonExp)} / ${formatWhole(this.cost())} to next level`
|
||
|
},
|
||
|
cost() { return new Decimal(12).pow(player[this.layer].thompsonLevel).mul(50000) },
|
||
|
unlocked() { return hasUpgrade("l", 13) }
|
||
|
},
|
||
|
meier: {
|
||
|
fillStyle: {'background-color' : "#947728"},
|
||
|
baseStyle: {'background-color' : "#04467a"},
|
||
|
textStyle: {'color': '#04e050'},
|
||
|
borderStyle() {return {}},
|
||
|
direction: RIGHT,
|
||
|
width: 400,
|
||
|
height: 140,
|
||
|
progress() {
|
||
|
return (player[this.layer].meierExp.div(this.cost())).toNumber()
|
||
|
},
|
||
|
display() {
|
||
|
return `Current TA Level: ${formatWhole(player[this.layer].meierLevel)}<br/><br/>${format(player[this.layer].meierExp)} / ${formatWhole(this.cost())} to next level`
|
||
|
},
|
||
|
cost() { return new Decimal(12).pow(player[this.layer].meierLevel).mul(50000) },
|
||
|
unlocked() { return challengeCompletions("d", 22) > 0 }
|
||
|
}
|
||
|
},
|
||
|
upgrades: {
|
||
|
rows: 1,
|
||
|
cols: 5,
|
||
|
11: {
|
||
|
title: "Hire Gabriel",
|
||
|
cost: new Decimal(1),
|
||
|
description() { return "<br/>Gabriel will make upgrading hardware not spend any cash, and increase cash gain based on level<br/>" },
|
||
|
effect() { return inChallenge("d", 21) ? new Decimal(1) : new Decimal(2).pow(player[this.layer].gabenLevel) },
|
||
|
effectDisplay() { return `${format(this.effect())}x cash gain` }
|
||
|
},
|
||
|
12: {
|
||
|
title: "Hire L",
|
||
|
cost: new Decimal(50),
|
||
|
description() { return "<br/>L will autopurchase alt accounts and not spend any fame, and increase fame gain based on level<br/>" },
|
||
|
effect() { return inChallenge("d", 21) ? new Decimal(1) : player[this.layer].lLevel.add(1).pow(.9) },
|
||
|
effectDisplay() { return `${format(this.effect())}x fame gain` },
|
||
|
unlocked() { return hasUpgrade("l", 11) }
|
||
|
},
|
||
|
13: {
|
||
|
title: "Hire Jean",
|
||
|
cost: new Decimal(2000),
|
||
|
description() { return "<br/>Jean will square updates gain, and increase updates gain based on level<br/>" },
|
||
|
effect() { return inChallenge("d", 21) ? new Decimal(1) : new Decimal(1.75).pow(player[this.layer].carmackLevel) },
|
||
|
effectDisplay() { return `${format(this.effect())}x update gain` },
|
||
|
unlocked() { return hasUpgrade("l", 12) }
|
||
|
},
|
||
|
14: {
|
||
|
title: "Hire Jen",
|
||
|
cost: new Decimal(60000),
|
||
|
description() { return "<br/>Jen will make taking classes not spend any cash, and increase enrollments gain based on level<br/>" },
|
||
|
effect() { return inChallenge("d", 21) ? new Decimal(1) : new Decimal(1.5).pow(player[this.layer].thompsonLevel) },
|
||
|
effectDisplay() { return `${format(this.effect())}x enrollments gain` },
|
||
|
unlocked() { return hasUpgrade("l", 13) }
|
||
|
},
|
||
|
15: {
|
||
|
title: "Hire Sidney",
|
||
|
cost: new Decimal(1200000),
|
||
|
description() { return "<br/>Sidney will square good will affect, and increase good will gain based on level<br/>" },
|
||
|
effect() { return inChallenge("d", 21) ? new Decimal(1) : new Decimal(1.05).pow(player[this.layer].meierLevel) },
|
||
|
effectDisplay() { return `${format(this.effect())}x good will gain` },
|
||
|
unlocked() { return challengeCompletions("d", 22) > 0 }
|
||
|
}
|
||
|
}
|
||
|
})
|