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 famous and an extensive multi-college education, you have the bright idea of becoming an adjunt professor. It won't benefit you directly, but with enough lectures under your belt you should be able to start hiring Teacher Assistants to take advantage of help you out.

` + `Each TA you unlock will gain experience over time - the more lectures 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) ? `

Disabled during ${layers.d.challenges[player.d.activeChallenge].name} degree plan

` : ""], "main-display", "prestige-button", "blank", ["display-text", "

Gabriel Newell

"], ["row", [["upgrade", 11], "blank", ["bar", "gaben"]]], "blank", ["display-text", () => hasUpgrade("l", 11) ? "

L

" : ""], ["row", [["upgrade", 12], "blank", ["bar", "l"]]], "blank", ["display-text", () => hasUpgrade("l", 12) ? "

Jean Carmack

" : ""], ["row", [["upgrade", 13], "blank", ["bar", "carmack"]]], "blank", ["display-text", () => hasUpgrade("l", 13) ? "

Jen Thompson

" : ""], ["row", [["upgrade", 14], "blank", ["bar", "thompson"]]], "blank", ["display-text", () => challengeCompletions("d", 22) > 0 ? "

Sidney Meier

" : ""], ["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)}

${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)}

${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)}

${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)}

${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)}

${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 "
Gabriel will make upgrading hardware not spend any cash, and increase cash gain based on level
" }, 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 "
L will autopurchase alt accounts and not spend any fame, and increase fame gain based on level
" }, 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 "
Jean will square updates gain, and increase updates gain based on level
" }, 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 "
Jen will make taking classes not spend any cash, and increase enrollments gain based on level
" }, 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 "
Sidney will square good will affect, and increase good will gain based on level
" }, 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 } } } })