From 2077f812930af04a68a81d33edad4e097516ca32 Mon Sep 17 00:00:00 2001
From: randomusert <127417963+randomusert@users.noreply.github.com>
Date: Thu, 2 Oct 2025 05:18:25 +0000
Subject: [PATCH 1/4] devcontainer config
---
.devcontainer/devcontainer.json | 8 ++++++++
1 file changed, 8 insertions(+)
create mode 100644 .devcontainer/devcontainer.json
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..db39be5
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,8 @@
+{
+ "features": {
+ "ghcr.io/r3dpoint/devcontainer-features/tailwindcss-standalone-cli:1": {}
+ },
+
+ "postCreateCommand": "npm i"
+
+}
\ No newline at end of file
From b31f32f0e2b4e092a47dc25a3918baca65596929 Mon Sep 17 00:00:00 2001
From: randomusert <127417963+randomusert@users.noreply.github.com>
Date: Thu, 2 Oct 2025 06:43:25 +0000
Subject: [PATCH 2/4] Implement MclickCounter integration(tried) and prestige
system; update dependencies and HTML structure
---
.gitignore | 2 +-
mclick-counter/src/index.js | 79 ++++++++++++++++++++-----------------
package-lock.json | 6 +++
package.json | 3 +-
src/index.html | 2 +
src/index.js | 45 ++++++++++++++-------
src/require.js | 5 +++
src/scripts/main.js | 16 ++++++++
8 files changed, 105 insertions(+), 53 deletions(-)
create mode 100644 src/require.js
create mode 100644 src/scripts/main.js
diff --git a/.gitignore b/.gitignore
index f7bf2ef..014291d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
/node_modules
/lib
-/mclick-theme/node_modules
\ No newline at end of file
+/mclick-theme/node_modules
diff --git a/mclick-counter/src/index.js b/mclick-counter/src/index.js
index 69f75ab..cc4a3b2 100644
--- a/mclick-counter/src/index.js
+++ b/mclick-counter/src/index.js
@@ -1,44 +1,51 @@
-export default class MclickCounter {
- constructor(initialValue = 0n) {
- this.value = BigInt(initialValue);
- }
+define(function () {
+ class MclickCounter {
+ constructor(initialValue = 0n) {
+ this.value = BigInt(initialValue);
+ }
+ version() {
+ return '0.7.0';
+ }
- increment(amount = 1n) {
- this.value += BigInt(amount);
- }
+ increment(amount = 1n) {
+ this.value += BigInt(amount);
+ }
- set(value) {
- this.value = BigInt(value);
- }
+ set(value) {
+ this.value = BigInt(value);
+ }
- get() {
- return this.value;
- }
+ get() {
+ return this.value;
+ }
- // Format as words (e.g., "1.2 million", "3.4 billion", etc.)
- format() {
- const units = [
- { suffix: "decillion", value: 10n ** 33n },
- { suffix: "nonillion", value: 10n ** 30n },
- { suffix: "octillion", value: 10n ** 27n },
- { suffix: "septillion", value: 10n ** 24n },
- { suffix: "sextillion", value: 10n ** 21n },
- { suffix: "quintillion", value: 10n ** 18n },
- { suffix: "quadrillion", value: 10n ** 15n },
- { suffix: "trillion", value: 10n ** 12n },
- { suffix: "billion", value: 10n ** 9n },
- { suffix: "million", value: 10n ** 6n },
- { suffix: "thousand", value: 10n ** 3n }
- ];
+ // Format as words (e.g., "1.2 million", "3.4 billion", etc.)
+ format() {
+ const units = [
+ { suffix: "decillion", value: 10n ** 33n },
+ { suffix: "nonillion", value: 10n ** 30n },
+ { suffix: "octillion", value: 10n ** 27n },
+ { suffix: "septillion", value: 10n ** 24n },
+ { suffix: "sextillion", value: 10n ** 21n },
+ { suffix: "quintillion", value: 10n ** 18n },
+ { suffix: "quadrillion", value: 10n ** 15n },
+ { suffix: "trillion", value: 10n ** 12n },
+ { suffix: "billion", value: 10n ** 9n },
+ { suffix: "million", value: 10n ** 6n },
+ { suffix: "thousand", value: 10n ** 3n }
+ ];
- for (const unit of units) {
- if (this.value >= unit.value) {
- const whole = this.value / unit.value;
- const decimal = (this.value % unit.value) / (unit.value / 10n);
- return `${whole}.${decimal} ${unit.suffix}`;
+ for (const unit of units) {
+ if (this.value >= unit.value) {
+ const whole = this.value / unit.value;
+ const decimal = (this.value % unit.value) / (unit.value / 10n);
+ return `${whole}.${decimal} ${unit.suffix}`;
+ }
}
- }
- return this.value.toString(); // just show number for small values
+ return this.value.toString(); // just show number for small values
+ }
}
-}
+
+ return MclickCounter;
+});
diff --git a/package-lock.json b/package-lock.json
index 84bc46f..ce71fd5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,6 +7,7 @@
"dependencies": {
"@tailwindcss/cli": "^4.1.4",
"express": "^5.1.0",
+ "mclick-counter": "0.7.0",
"mclick-theme": "^0.7.0"
},
"devDependencies": {
@@ -1324,6 +1325,11 @@
"node": ">= 0.4"
}
},
+ "node_modules/mclick-counter": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/mclick-counter/-/mclick-counter-0.7.0.tgz",
+ "integrity": "sha512-yqiLH/IWhiZh9q2GAnq375+yiEciG5Ma53Dz+r6DI4jbbK00lXVnAQXbYJdNZs+Yn9itqH5PUn9e+n3LSoIflA=="
+ },
"node_modules/mclick-theme": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/mclick-theme/-/mclick-theme-0.7.0.tgz",
diff --git a/package.json b/package.json
index e77ed73..118360e 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"dependencies": {
"@tailwindcss/cli": "^4.1.4",
"express": "^5.1.0",
- "mclick-theme": "^0.7.0"
+ "mclick-theme": "^0.7.0",
+ "mclick-counter": "0.7.0"
}
}
diff --git a/src/index.html b/src/index.html
index 73c58a4..4baaafd 100644
--- a/src/index.html
+++ b/src/index.html
@@ -4,6 +4,8 @@
Money Clicker
+
+
diff --git a/src/index.js b/src/index.js
index 10f59b0..7a5e946 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,6 +1,7 @@
//variables
//sets variable called score to zero
+
var score = 0;
var cursorCost = 2;
var cursors = 0;
@@ -13,6 +14,12 @@ var superclicker = 0
var superclickerCost = 1000
var Ultraclicker = 2000
var UltraclickerCost = 0
+var prestigePoints = 0 //prestige points
+var requiredMoney = 1000000 //money required to prestige
+var prestigeMultiplier = 1.2 //multiplier for prestige points
+
+
+console.log('MclickCounter loaded:', MclickCounter.version());
//load the save on the website loading
window.onload = function() {
@@ -50,7 +57,6 @@ function getmoney() {
score = score + clickPower;
game.clicks++;
game.totalMoney += clickPower;
-
document.getElementById("score").innerHTML = score;
}
@@ -135,6 +141,7 @@ const game = {
clicks: 0,
totalMoney: 0,
clickers: 0,
+ prestigePoints: 0,
// Other game properties
};
@@ -175,16 +182,18 @@ const achievements = [
description: "click one million times. grazy to get without an auto clicker",
condition: (game) => game.clicks >= 1000,
unlocked: false
+ },
+ {
+ id: "first_prestige",
+ name: "Prestige!",
+ description: "Prestige for the first time.",
+ condition: (game) => game.prestigePoints >= 1,
+ unlocked: false
}
];
-
// advancements
-
-
-
-
function displayAchievement(achievement) {
let container = document.getElementById("achievement-container");
if (!container) {
@@ -222,14 +231,6 @@ function displayAchievement(achievement) {
}
-
-
-
-
-
-
-
-
function checkAchievements() {
achievements.forEach(achievement => {
if (!achievement.unlocked && achievement.condition(game)) {
@@ -250,7 +251,6 @@ function disableclickerbuy() {
}
// building upgrades
-
function buyclicker() {
if (score == clickerCost) {
clicker++
@@ -277,3 +277,18 @@ function Ultraclickerbuys() {
disableUltraclicker()
}
}
+
+// prestige system
+function givePrestigePoints() {
+ if (game.totalMoney >= requiredMoney) {
+ prestigePoints++;
+ game.totalMoney = 0; // Reset total money after prestiging
+ alert("You have prestiged and earned a prestige point!");
+ game.clicks = 0;
+ game.clickers = 0;
+ game.prestigePoints += 1;
+ game.clickPower = Math.round(game.clickPower * prestigeMultiplier);
+ clickPower = game.clickPower;
+ }
+}
+
diff --git a/src/require.js b/src/require.js
new file mode 100644
index 0000000..8ffd104
--- /dev/null
+++ b/src/require.js
@@ -0,0 +1,5 @@
+/** vim: et:ts=4:sw=4:sts=4
+ * @license RequireJS 2.3.7 Copyright jQuery Foundation and other contributors.
+ * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
+ */
+var requirejs,require,define;!function(global,setTimeout){var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.7",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1,disallowedProps=["__proto__","constructor"];function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e)for(var i=0;i
Date: Thu, 2 Oct 2025 07:06:19 +0000
Subject: [PATCH 3/4] Refactor MclickCounter class and remove RequireJS
integration; streamline HTML and JavaScript structure
---
mclick-counter/src/index.js | 81 ++++++++++++++++++-------------------
src/index.html | 2 -
src/index.js | 56 +++++++++++++++++++++----
src/require.js | 5 ---
src/scripts/main.js | 16 --------
5 files changed, 87 insertions(+), 73 deletions(-)
delete mode 100644 src/require.js
delete mode 100644 src/scripts/main.js
diff --git a/mclick-counter/src/index.js b/mclick-counter/src/index.js
index cc4a3b2..6e8f867 100644
--- a/mclick-counter/src/index.js
+++ b/mclick-counter/src/index.js
@@ -1,51 +1,48 @@
-define(function () {
- class MclickCounter {
- constructor(initialValue = 0n) {
- this.value = BigInt(initialValue);
- }
- version() {
- return '0.7.0';
- }
- increment(amount = 1n) {
- this.value += BigInt(amount);
- }
+class MclickCounter {
+ constructor(initialValue = 0n) {
+ this.value = BigInt(initialValue);
+ }
+ version() {
+ return '0.7.0';
+ }
- set(value) {
- this.value = BigInt(value);
- }
+ increment(amount = 1n) {
+ this.value += BigInt(amount);
+ }
- get() {
- return this.value;
- }
+ set(value) {
+ this.value = BigInt(value);
+ }
+
+ get() {
+ return this.value;
+ }
// Format as words (e.g., "1.2 million", "3.4 billion", etc.)
- format() {
- const units = [
- { suffix: "decillion", value: 10n ** 33n },
- { suffix: "nonillion", value: 10n ** 30n },
- { suffix: "octillion", value: 10n ** 27n },
- { suffix: "septillion", value: 10n ** 24n },
- { suffix: "sextillion", value: 10n ** 21n },
- { suffix: "quintillion", value: 10n ** 18n },
- { suffix: "quadrillion", value: 10n ** 15n },
- { suffix: "trillion", value: 10n ** 12n },
- { suffix: "billion", value: 10n ** 9n },
- { suffix: "million", value: 10n ** 6n },
- { suffix: "thousand", value: 10n ** 3n }
- ];
+ format() {
+ const units = [
+ { suffix: "decillion", value: 10n ** 33n },
+ { suffix: "nonillion", value: 10n ** 30n },
+ { suffix: "octillion", value: 10n ** 27n },
+ { suffix: "septillion", value: 10n ** 24n },
+ { suffix: "sextillion", value: 10n ** 21n },
+ { suffix: "quintillion", value: 10n ** 18n },
+ { suffix: "quadrillion", value: 10n ** 15n },
+ { suffix: "trillion", value: 10n ** 12n },
+ { suffix: "billion", value: 10n ** 9n },
+ { suffix: "million", value: 10n ** 6n },
+ { suffix: "thousand", value: 10n ** 3n }
+ ];
- for (const unit of units) {
- if (this.value >= unit.value) {
- const whole = this.value / unit.value;
- const decimal = (this.value % unit.value) / (unit.value / 10n);
- return `${whole}.${decimal} ${unit.suffix}`;
- }
+ for (const unit of units) {
+ if (this.value >= unit.value) {
+ const whole = this.value / unit.value;
+ const decimal = (this.value % unit.value) / (unit.value / 10n);
+ return `${whole}.${decimal} ${unit.suffix}`;
}
-
- return this.value.toString(); // just show number for small values
}
- }
- return MclickCounter;
-});
+ return this.value.toString(); // just show number for small values
+ }
+}
\ No newline at end of file
diff --git a/src/index.html b/src/index.html
index 4baaafd..73c58a4 100644
--- a/src/index.html
+++ b/src/index.html
@@ -4,8 +4,6 @@
Money Clicker
-
-
diff --git a/src/index.js b/src/index.js
index 7a5e946..8506b87 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,7 +1,5 @@
//variables
//sets variable called score to zero
-
-
var score = 0;
var cursorCost = 2;
var cursors = 0;
@@ -18,9 +16,49 @@ var prestigePoints = 0 //prestige points
var requiredMoney = 1000000 //money required to prestige
var prestigeMultiplier = 1.2 //multiplier for prestige points
-
-console.log('MclickCounter loaded:', MclickCounter.version());
-
+function constructor(initialValue = 0n)
+{
+ this.value = BigInt(initialValue);
+}
+function increment(amount = 1n)
+{
+ this.value += BigInt(amount);
+}
+function set(value)
+{
+ this.value = BigInt(value);
+}
+function get()
+{
+ console.log(this.value)
+}
+// Format as words (e.g., "1.2 million", "3.4 billion", etc.)
+function format(value)
+{
+ this.value = BigInt(value);
+ const units = [
+ { suffix: "decillion", value: 10n ** 33n },
+ { suffix: "nonillion", value: 10n ** 30n },
+ { suffix: "octillion", value: 10n ** 27n },
+ { suffix: "septillion", value: 10n ** 24n },
+ { suffix: "sextillion", value: 10n ** 21n },
+ { suffix: "quintillion", value: 10n ** 18n },
+ { suffix: "quadrillion", value: 10n ** 15n },
+ { suffix: "trillion", value: 10n ** 12n },
+ { suffix: "billion", value: 10n ** 9n },
+ { suffix: "million", value: 10n ** 6n },
+ { suffix: "thousand", value: 10n ** 3n }
+ ];
+
+ for (const unit of units) {
+ if (this.value >= unit.value) {
+ const whole = this.value / unit.value;
+ const decimal = (this.value % unit.value) / (unit.value / 10n);
+ return `${whole}.${decimal} ${unit.suffix}`;
+ }
+ }
+ return this.value.toString(); // just show number for small values
+}
//load the save on the website loading
window.onload = function() {
Load()
@@ -54,10 +92,13 @@ function BuySuperCursors() {
function getmoney() {
+ var formatedScorse = format(score)
+ document.getElementById("score").innerHTML = formatedScorse;
score = score + clickPower;
game.clicks++;
game.totalMoney += clickPower;
- document.getElementById("score").innerHTML = score;
+
+ //document.getElementById("score").innerHTML = formatedScorse;
}
@@ -283,7 +324,6 @@ function givePrestigePoints() {
if (game.totalMoney >= requiredMoney) {
prestigePoints++;
game.totalMoney = 0; // Reset total money after prestiging
- alert("You have prestiged and earned a prestige point!");
game.clicks = 0;
game.clickers = 0;
game.prestigePoints += 1;
@@ -291,4 +331,4 @@ function givePrestigePoints() {
clickPower = game.clickPower;
}
}
-
+
diff --git a/src/require.js b/src/require.js
deleted file mode 100644
index 8ffd104..0000000
--- a/src/require.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/** vim: et:ts=4:sw=4:sts=4
- * @license RequireJS 2.3.7 Copyright jQuery Foundation and other contributors.
- * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
- */
-var requirejs,require,define;!function(global,setTimeout){var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.7",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1,disallowedProps=["__proto__","constructor"];function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e)for(var i=0;i
Date: Thu, 9 Jul 2026 13:41:51 +0300
Subject: [PATCH 4/4] replace the 5-dollar.png with a new file, but same name
---
src/Assets/5-dollar.png | Bin 8852 -> 1291 bytes
src/index.html | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Assets/5-dollar.png b/src/Assets/5-dollar.png
index 2b239b4dc2d797a534d5520de575f94cfb25e497..f63f68fea3472dcf3e899cb303b7140abe54bef9 100644
GIT binary patch
literal 1291
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
diff --git a/src/index.html b/src/index.html
index 73c58a4..a8fd703 100644
--- a/src/index.html
+++ b/src/index.html
@@ -19,7 +19,7 @@
-