summaryrefslogtreecommitdiff
path: root/js/loadballoons.js
diff options
context:
space:
mode:
authorBenjamin Southall <applemansigloo@gmail.com>2017-05-04 14:04:22 +0900
committerBenjamin Southall <applemansigloo@gmail.com>2017-05-04 14:04:22 +0900
commit6db0460ed01e27eec72b70d4907736ac5942fc42 (patch)
treed9cc7675144c581a5ed81483d722b1eb07a64203 /js/loadballoons.js
parentf6fd9c97f9cdf19335437cd7c3e1589fdacc7727 (diff)
Add support for floating balloons used in the birthday celebrations
Diffstat (limited to 'js/loadballoons.js')
-rw-r--r--js/loadballoons.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/js/loadballoons.js b/js/loadballoons.js
new file mode 100644
index 00000000..c4cfdb4f
--- /dev/null
+++ b/js/loadballoons.js
@@ -0,0 +1,48 @@
+if (active_page === "catalog" || active_page === "thread" || active_page === "index" || active_page === "ukko") {
+
+$(document).on("ready", function() {
+if (window.Options && Options.get_tab('general')) {
+ Options.extend_tab("general",
+ "<fieldset><legend>Special Event Effects </legend>"
+ + ("<label class='event-effect' id='eventeffect'><input type='checkbox' /> Enable Special Event Effects</label>")
+ + "</fieldset>");
+}
+
+$('.event-effect').on('change', function(){
+ var setting = $(this).attr('id');
+
+ localStorage[setting] = $(this).children('input').is(':checked');
+ location.reload();
+});
+
+if (!localStorage.eventeffect) {
+ localStorage.eventeffect = 'true';
+}
+
+function getSetting(key) {
+ return (localStorage[key] == 'true');
+}
+
+if (getSetting('eventeffect')) $('#eventeffect>input').prop('checked', 'checked');
+
+function initBalloons() { //Pashe, influenced by tux, et al, WTFPL
+ if (!getSetting("eventeffect")) {return;}
+
+floatingLove({
+ 'minSpeed': 1.5, //Minimum vertical speed
+ 'maxSpeed': 2, //Maximum vertical speed
+ 'minAmplitude': 0.5, //Minimum amplitude (>0)
+ 'maxAmplitude': 1.5, //Maximum amplitude (>0)
+ 'minFrequency': 0.08, //Maximum Frequency (>0)
+ 'maxFrequency': 0.1, //Maximum Frequency (>0)
+ 'minAlpha': 0.7, //Minimum opacity (0-1)
+ 'maxAlpha': 0.8, //Maximum opacity (0-1)
+ 'minScale': 0.2, //Minimum size multiplier (0-1)
+ 'maxScale': 0.8, //Maximum size multiplier (0-1)
+ 'interval': 1000, //Time gap between each heart
+ 'delay': 1000 //Starting delay from initialization
+ }).init();
+}
+initBalloons();
+});
+}