diff --git a/changelog.md b/changelog.md
index 9d06af2..8ee9259 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,10 +1,12 @@
# The Modding Tree changelog:
-# v2.5: Dreams Really Do Come True -
+# v2.5: Dreams Really Do Come True - 5/7/21
- Optimizations, hopefully a significant amount.
- Added OOM/s point gen display at high values (thanks to Ducdat!)
- Only one tab will display if the window is not wide enough (also thanks to Ducdat!)
+- Holding down a buyable's button now buys it continuously.
- New milestone setting will also show the most recently unlocked milestone. (Also renamed all settings to be clearer)
+- Added an onHold feature for clickables.
- Layer nodes will be highlighted even if the player is on the same tab.
- Added customizable node glowColor.
- Added buyable purchaseLimit.
diff --git a/docs/clickables.md b/docs/clickables.md
index f21db92..49b83ce 100644
--- a/docs/clickables.md
+++ b/docs/clickables.md
@@ -38,6 +38,8 @@ Features:
- onClick(): A function that implements clicking one of the clickable.
+- onHold(): **optional** A function that is called 20x/sec when the button is held for at least 0.25 seconds.
+
- style: **optional**. Applies CSS to this clickable, in the form of an object where the keys are CSS attributes, and the values are the values for those attributes (both as strings).
- layer: **assigned automagically**. It's the same value as the name of this layer, so you can do `player[this.layer].points` or similar.
diff --git a/js/Demo/demoLayers.js b/js/Demo/demoLayers.js
index e381aa0..4f79516 100644
--- a/js/Demo/demoLayers.js
+++ b/js/Demo/demoLayers.js
@@ -452,9 +452,11 @@ addLayer("f", {
default:
player[this.layer].clickables[this.id] = "Start"
break;
-
}
},
+ onHold(){
+ console.log("Clickkkkk...")
+ },
style() {
switch(getClickableState(this.layer, this.id)){
case "Start":
diff --git a/js/components.js b/js/components.js
index d952505..d597d68 100644
--- a/js/components.js
+++ b/js/components.js
@@ -260,7 +260,7 @@ function loadVue() {