From 89d193482bcb41f8e409af256e53f3029478e74c Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Sun, 12 Jan 2020 21:16:15 -0800 Subject: [PATCH] Fix logic for education of very dumb slaves and deeducation of very smart ones. Now, the smarter they are, the faster they learn and the slower they unlearn, and the bonus always improves their chance of learning or unlearning depending on the goal of the schoolroom. Added comments to make it clearer what's going on. --- src/endWeek/saTakeClasses.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/endWeek/saTakeClasses.js b/src/endWeek/saTakeClasses.js index dd2fc6c1e5f..4c49806a640 100644 --- a/src/endWeek/saTakeClasses.js +++ b/src/endWeek/saTakeClasses.js @@ -142,46 +142,46 @@ window.saTakeClasses = (function saServeThePublic() { */ function learningProgress(slave) { if (V.schoolroomRemodelBimbo !== 1 || slave.assignment !== "learn in the schoolroom") { - if (slave.intelligence > 95) { + if (slave.intelligence > 95) { /* 200% education for brilliant */ learning += 2; - } else if (slave.intelligence > 50) { + } else if (slave.intelligence > 50) { /* normal for very smart */ learning++; - } else if (slave.intelligence > 15) { + } else if (slave.intelligence > 15) { /* 70% for smart */ if (jsRandom(1, 100) < 70) { learning++; } - } else if (slave.intelligence >= -15) { + } else if (slave.intelligence >= -15) { /* 50% for average */ if (jsRandom(1, 100) < 50) { learning++; } - } else { + } else { /* slow, very slow, and retards */ let slaveDensity = (50 + slave.intelligence); - if (V.schoolroomUpgradeRemedial === 1 && jsRandom(1, 100) < 50) { + if (V.schoolroomUpgradeRemedial === 1 && jsRandom(1, 100) < 50) { /* 50% chance to benefit from upgrade */ slaveDensity = 55; } - if (jsRandom(1, 100) > slaveDensity) { + if (jsRandom(1, 100) < slaveDensity) { /* 55% with upgrade, [-50 to 34]% without, mapped from [-100 to -16] intelligence */ learning++; } } } else { - if (slave.intelligence < -95) { + if (slave.intelligence < -95) { /* 200% de-education for retards */ learning += 2; - } else if (slave.intelligence < -50) { + } else if (slave.intelligence < -50) { /* normal for very slow */ learning++; - } else if (slave.intelligence < -15) { + } else if (slave.intelligence < -15) { /* 70% for slow */ if (jsRandom(1, 100) < 70) { learning++; } - } else if (slave.intelligence > 15) { + } else if (slave.intelligence <= 15) { /* 50% for average */ if (jsRandom(1, 100) < 50) { learning++; } - } else { - let slaveDensity = (-10 + slave.intelligence); - if (V.schoolroomUpgradeRemedial === 1 && jsRandom(1, 100) < 50) { + } else { /* smart, very smart, and brilliant */ + let slaveDensity = (50 - slave.intelligence); + if (V.schoolroomUpgradeRemedial === 1 && jsRandom(1, 100) < 50) { /* 50% chance to benefit from upgrade */ slaveDensity = 55; } - if (jsRandom(1, 100) < slaveDensity) { + if (jsRandom(1, 100) < slaveDensity) { /* 55% with upgrade, [-50 to 34]% without, mapped from [16 to 100] intelligence */ learning++; } } -- GitLab