Skip to content

Commit 98bf8bc

Browse files
committed
v1.1
1 parent c33dd8b commit 98bf8bc

8 files changed

Lines changed: 42 additions & 38 deletions

File tree

KTL/actionData.js

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -389,10 +389,6 @@ let actionData = {
389389
addResourceTo(data.actions[actionObj.generatorTarget], actionObj.resourceToAdd);
390390
}
391391

392-
//Adds exp right after this function
393-
actionObj.expToAddBase = actionObj.resourceToAdd;
394-
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
395-
396392
views.scheduleUpdate('makeMoneyResourceSent', intToString(actionObj.resourceToAdd, 2), "textContent")
397393
views.scheduleUpdate('makeMoneyResourceTaken', intToString(resourceTaken, 2), "textContent")
398394
},
@@ -409,6 +405,8 @@ let actionData = {
409405
let resourceTaken = actionObj.resource * actionObj.tierMult();
410406
actionObj.resourceToAdd = dataObj.actionPowerFunction(resourceTaken) *
411407
actionObj.actionPower * actionObj.upgradeMult;
408+
actionObj.expToAddBase = actionObj.resourceToAdd;
409+
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
412410
},
413411
updateUpgradeMult:function() {
414412
let upgradeMult = 1;
@@ -740,10 +738,6 @@ let actionData = {
740738
addResourceTo(data.actions[actionObj.generatorTarget], actionObj.resourceToAdd);
741739
}
742740

743-
//Adds exp right after this function
744-
actionObj.expToAddBase = actionObj.resourceToAdd;
745-
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
746-
747741
views.scheduleUpdate('socializeResourceSent', intToString(actionObj.resourceToAdd, 2), "textContent")
748742
views.scheduleUpdate('socializeResourceTaken', intToString(resourceTaken, 2), "textContent")
749743
},
@@ -756,6 +750,8 @@ let actionData = {
756750
actionObj.actionPowerMult * (actionObj.efficiency/100);
757751
let resourceTaken = actionObj.resource * actionObj.tierMult();
758752
actionObj.resourceToAdd = dataObj.actionPowerFunction(resourceTaken) * actionObj.actionPower * actionObj.upgradeMult;
753+
actionObj.expToAddBase = actionObj.resourceToAdd;
754+
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
759755
},
760756
onUnlock: function() {
761757
// unveilAction('neighborlyTies');
@@ -2240,10 +2236,6 @@ actionData = {
22402236
addResourceTo(data.actions["resolve"], actionObj.resourceToAdd);
22412237
addResourceTo(data.actions["worry"], actionObj.resourceToAdd);
22422238

2243-
//Adds exp right after this function
2244-
actionObj.expToAddBase = actionObj.resourceToAdd;
2245-
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
2246-
22472239

22482240
views.scheduleUpdate('worryResourceSent', intToString(actionObj.resourceToAdd, 2), "textContent")
22492241
views.scheduleUpdate('worryResourceTaken', intToString(actionObj.resourceToAdd, 2), "textContent")
@@ -2259,6 +2251,8 @@ actionData = {
22592251
actionObj.resourceToAdd = dataObj.actionPowerFunction(resourceTaken) *
22602252
actionObj.actionPower * actionObj.upgradeMult;
22612253
data.actions.resolve.resourceIncrease = actionObj.resourceToAdd * actionObj.progressGain / actionObj.progressMax;
2254+
actionObj.expToAddBase = actionObj.resourceToAdd;
2255+
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
22622256
},
22632257
actionPowerFunction: function(resource) {
22642258
return resource / 10;
@@ -3079,10 +3073,6 @@ actionData = {
30793073

30803074
addResourceTo(data.actions[actionObj.generatorTarget], actionObj.resourceToAdd);
30813075

3082-
//Adds exp right after this function
3083-
actionObj.expToAddBase = actionObj.resourceToAdd;
3084-
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
3085-
30863076
views.scheduleUpdate('echoKindleResourceSent', intToString(actionObj.resourceToAdd, 2), "textContent")
30873077
},
30883078
updateMults: function () {
@@ -3094,6 +3084,8 @@ actionData = {
30943084
actionObj.actionPowerMult * (actionObj.efficiency/100);
30953085
actionObj.resourceToAdd = dataObj.actionPowerFunction(actionObj.resource) * actionObj.tierMult() *
30963086
actionObj.actionPower * actionObj.upgradeMult;
3087+
actionObj.expToAddBase = actionObj.resourceToAdd;
3088+
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
30973089
},
30983090
actionPowerFunction: function(resource) {
30993091
if(resource < 1) {
@@ -3141,9 +3133,6 @@ actionData = {
31413133

31423134
addResourceTo(data.actions[dataObj.generatorTarget], actionObj.resourceToAdd);
31433135

3144-
actionObj.expToAddBase = actionObj.resourceToAdd;
3145-
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
3146-
31473136
views.scheduleUpdate('poolManaResourceTaken', intToString(sparkManaObj.resource, 2), "textContent")
31483137
views.scheduleUpdate('poolManaResourceSent', intToString(actionObj.resourceToAdd, 2), "textContent")
31493138

@@ -3156,6 +3145,8 @@ actionData = {
31563145
actionObj.actionPower = actionObj.actionPowerBase *
31573146
actionObj.actionPowerMult * (actionObj.efficiency/100);
31583147
actionObj.resourceToAdd = data.actions.sparkMana.resource * actionObj.actionPower * actionObj.upgradeMult;
3148+
actionObj.expToAddBase = actionObj.resourceToAdd;
3149+
actionObj.expToAdd = actionObj.expToAddBase * actionObj.expToAddMult * calcUpgradeMultToExp(actionObj);
31593150
},
31603151
onUnlock: function() {
31613152
},

KTL/events.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -506,9 +506,9 @@ function statMenuHideButton() {
506506
let attDisplay = view.cached.attDisplay;
507507
if(attDisplay.style.display !== "none") {
508508
attDisplay.style.display = "none";
509-
button.style.display = "";
509+
button.style.display = "inline-block";
510510
} else {
511-
attDisplay.style.display = "block";
511+
attDisplay.style.display = "inline-block";
512512
button.style.display = "none";
513513
}
514514
}

KTL/helpers/hotkeys.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ document.addEventListener("keydown", function(e) {
2424
} else if(keysPressed['4']) {
2525
switchToPlane(3)
2626
}
27+
let isShowing = document.getElementById("helpMenu").style.display !== "none";
2728

28-
if (keysPressed['q']) {
29+
if (keysPressed['q'] && !isShowing) {
2930
setZoomNoMouse(scale - scaleStep*2)
3031
}
31-
if (keysPressed['e']) {
32+
if (keysPressed['e'] && !isShowing) {
3233
setZoomNoMouse(scale + scaleStep*2)
3334
}
3435

3536

36-
if(keysPressed['r']) {
37+
if(keysPressed['r'] && isShowing) {
3738
actionTitleClicked('overclock');
3839
}
3940

40-
let isShowing = document.getElementById("helpMenu").style.display !== "none";
4141
if(isShowing && !animationFrameId && ['w', 's', 'arrowup', 'arrowdown'].includes(key)) {
4242
moveMenuScroll();
4343
}

KTL/helpers/interval2.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,27 @@
33
// =================================================================
44
// This script runs in the background and handles all game logic calculations.
55
function loop() {
6-
if (timerId !== null) {
7-
clearTimeout(timerId);
8-
}
6+
if (timerId !== null) clearTimeout(timerId);
97

108
const now = performance.now();
119
if (lastTickTime === 0) lastTickTime = now;
1210

1311
const tickInterval = 1000 / data.gameSettings.ticksPerSecond;
12+
13+
const maxElapsed = 2000; // ms (2 seconds max catch-up)
1414
let elapsed = now - lastTickTime;
15+
if (elapsed > maxElapsed) {
16+
lastTickTime = now - maxElapsed;
17+
elapsed = maxElapsed;
18+
}
19+
1520
let ticksAvailable = Math.floor(elapsed / tickInterval);
1621
let didSomething = false;
1722

18-
const maxTicksPerLoop = 10;
19-
let ticksProcessed = ticksAvailable;
23+
const maxTicksPerLoop = 20;
24+
let ticksProcessed = Math.min(ticksAvailable, maxTicksPerLoop);
2025

2126
if (ticksAvailable > maxTicksPerLoop) {
22-
ticksProcessed = maxTicksPerLoop;
2327
const extraTicks = ticksAvailable - maxTicksPerLoop;
2428
data.currentGameState.bonusTime += extraTicks * tickInterval;
2529
}
@@ -56,6 +60,7 @@ function loop() {
5660

5761

5862

63+
5964
// Listen for updates from the worker
6065
onmessage = function(e) {
6166
const { type } = e.data;

KTL/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
</div>
5050

5151

52-
<span id="attDisplayShowButton" class="button" style="display:none;padding:5px;top:110px;left:388px;" onclick="statMenuHideButton()">Stats >></span>
52+
<span id="attDisplayShowButton" class="button" style="display:none;padding:5px;top:110px;left:388px;pointer-events:auto;" onclick="statMenuHideButton()">Attributes >></span>
5353
<div id="attDisplay" style="border: 1px solid var(--border-color);padding:15px;font-size:12px;background-color:var(--overlay-color);
5454
direction:rtl;position:relative;min-height:200px;overflow-y:auto;overflow-x:hidden;display:inline-block;will-change: transform;
5555
scrollbar-gutter:stable;pointer-events:auto;">
5656
<span id="attDisplayUnder" style="direction:ltr;">
57-
<span id="attDisplayHideButton" class="button" style="font-size:14px;position:absolute;padding:5px 8px;top:-3px;left:350px;"
57+
<span id="attDisplayHideButton" class="button" style="font-size:14px;position:absolute;padding:5px 8px;top:-2px;left:150px;"
5858
onclick="statMenuHideButton()"><<</span>
5959
<span style="font-size:14px;position:absolute;top:5px;left:5px;">Bonus = 10% per Stat.</span><br>
6060
<span class="title">Attributes</span>

KTL/menu.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,15 @@ function createChangelogMenu() {
569569
return Raw.html`
570570
<div class="menuTitle">Changelog</div>
571571
<div class="menuSeparator"></div><br>
572-
v1.0 (current): first release to web<br>
573-
v.1: very rough
572+
v1.1, 8/5 (current):<br>
573+
<ul>
574+
<li>Modified text of on-level attributes</li>
575+
<li>Fixed a timing bug for mobile</li>
576+
<li>Added a button to hide Attributes</li>
577+
<li>Prevented hotkeys while the menu is open</li>
578+
<li>Some Generator's Exp to gain now updates fluidly.</li>
579+
</ul><br>
580+
v1.0, 8/5: first release to web<br>
581+
v.1, : very rough
574582
`;
575583
}

KTL/saveFile.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

KTL/views/viewCreate.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ function generateOutsideAttDisplay(actionObj, attObj, type) {
485485
let tooltipText;
486486

487487
if (type === "add") {
488-
tooltipText = `${text} to ${capitalizeFirst(statName)}`;
488+
tooltipText = `${text} to ${capitalizeFirst(statName)} per level.`;
489489
} else if (type === "eff") {
490490
tooltipText = `${text} of ${capitalizeFirst(statName)}'s bonus is multiplied to base efficiency`;
491491
} else if (type === "exp") {
@@ -524,7 +524,7 @@ function generateActionOnLevelAtts(actionObj) {
524524
+<span style="color:var(--text-primary)"><b>${attObj[1]}</b></span> to
525525
<img src="img/${attVar}.svg" alt="${attVar}"
526526
style="margin:1px;width:20px;height:20px;vertical-align:top;background:var(--attribute-add-bg-color)" />
527-
<span style="color:var(--text-primary)"><b>${capitalizeFirst(attObj[0])}</b></span>
527+
<span style="color:var(--text-primary);font-weight:bold;">${capitalizeFirst(attObj[0])}</span> per level
528528
</div>`;
529529
}
530530
onLevelAttsText += `</div>`

0 commit comments

Comments
 (0)