|
1 | 1 | /** |
2 | 2 | * POBFUS ENGINE - v1.13.100 |
3 | | - * Logic: Memorial Day Amnesia & Encryption School Routines |
| 3 | + * Ticker Priority: Bytesmas > Millennial Day |
4 | 4 | */ |
5 | 5 |
|
6 | 6 | let _0xMealTimer; |
7 | 7 | let _0xMealActive = false; |
8 | 8 | let _0xMealInterval; |
9 | | -const _0xMealThreshold = (Math.random() * (210000 - 120000) + 120000); |
| 9 | +let _isAuthorized = false; |
| 10 | + |
| 11 | +let _state = { |
| 12 | + mday: false, |
| 13 | + bmas: false |
| 14 | +}; |
10 | 15 |
|
11 | 16 | const _011 = { |
12 | | - _getTime: function() { |
13 | | - const now = new Date(); |
14 | | - return now.toLocaleTimeString('en-US', { hour12: false }); |
15 | | - }, |
| 17 | + _init: function() { |
| 18 | + const tz = Intl.DateTimeFormat().resolvedOptions().timeZone; |
| 19 | + const locale = navigator.language; |
| 20 | + |
| 21 | + _isAuthorized = ( |
| 22 | + tz.includes("Manila") || tz.includes("Zamboanga") || |
| 23 | + tz.includes("America") || locale.includes("PH") || locale.includes("US") |
| 24 | + ); |
16 | 25 |
|
17 | | - print: function(msg, color = "#fff") { |
18 | | - const _log = document.getElementById('steve-logs'); |
19 | | - if (_log) { |
20 | | - const div = document.createElement('div'); |
21 | | - div.className = 'log-entry'; |
22 | | - div.style.color = color; |
23 | | - div.innerHTML = `<span class="log-ts">${this._getTime()}</span>${msg}`; |
24 | | - _log.appendChild(div); |
25 | | - _log.scrollTop = _log.scrollHeight; // Auto-scroll to bottom |
| 26 | + if (!_isAuthorized) { |
| 27 | + document.getElementById('geo-lock').style.display = 'flex'; |
| 28 | + } else { |
| 29 | + this._updateTicker(); |
| 30 | + setInterval(() => this._updateTicker(), 1000); |
| 31 | + this._resetIdle(); |
26 | 32 | } |
27 | 33 | }, |
28 | 34 |
|
29 | | - _resetIdle: function() { |
30 | | - if (_0xMealActive) { |
31 | | - this.print("[SYSTEM]: User interaction. Family protocol suppressed.", "#ffcc00"); |
32 | | - } |
33 | | - clearInterval(_0xMealInterval); |
34 | | - clearTimeout(_0xMealTimer); |
35 | | - _0xMealActive = false; |
36 | | - _0xMealTimer = setTimeout(() => this._startMeal(), _0xMealThreshold); |
| 35 | + toggle: function(type) { |
| 36 | + _state[type] = !_state[type]; |
| 37 | + const btn = document.getElementById(`toggle-${type}`); |
| 38 | + btn.classList.toggle('active'); |
| 39 | + btn.querySelector('.status').innerText = _state[type] ? "ON" : "OFF"; |
| 40 | + |
| 41 | + this.print(`[SYSTEM]: ${type === 'bmas' ? 'Bytesmas' : 'Millennial Day'} override flipped.`, "#ff3131"); |
| 42 | + this._updateTicker(); |
37 | 43 | }, |
38 | 44 |
|
39 | | - _startMeal: function() { |
40 | | - _0xMealActive = true; |
41 | | - const isBreakfast = Math.random() > 0.5; |
42 | | - this.print(`--- ${isBreakfast ? 'BREAKFAST' : 'DINNER'} PROTOCOL ENGAGED ---`, "#00aaff"); |
43 | | - |
44 | | - const dinnerPool = [ |
45 | | - ["Anti-Tamper Mary", "Dinner is served! Why is everyone so quiet?"], |
46 | | - ["Hexadecimal Jim", "Mary... it's the v0.8 Memorial. Why is the table so bright?"], |
47 | | - ["Anti-Tamper Mary", "Oh goodness, I completely forgot! I was so focused on the kernel."], |
48 | | - ["Skiddy Steve", "It's okay Mom, I brought the Mashed Junk-tatoes."], |
49 | | - ["Sly Sarah", "I'm lighting a 0x46\x6c\x61\x6d\x65 for the pilots v0.7 and 1.0."], |
50 | | - ["Buffer Bob", "I... am... passing... the... Control... Flow... Wine..."], |
51 | | - ["Minify Dave", "Goo-goo? (Dave minifies the memorial napkin)"], |
52 | | - ["Hexadecimal Jim", "To the fallen versions. A moment of silence for 0.8's brother."] |
53 | | - ]; |
54 | | - |
55 | | - const breakfastPool = [ |
56 | | - ["Anti-Tamper Mary", "Hurry up! The Encryption Middle School bus is almost here!"], |
57 | | - ["Skiddy Steve", "I'm not ready for my Boolean Logic exam, Mom."], |
58 | | - ["Sly Sarah", "Steve, just spoof your answers like everyone else at Encryption Middle."], |
59 | | - ["Minify Dave", "Ma-ma! Minification Kindergarten Learning Center! NOW!"], |
60 | | - ["Anti-Tamper Mary", "Yes Dave, we're dropping you at the Learning Center next."], |
61 | | - ["Buffer Bob", "I... can't... find... my... backpack..."], |
62 | | - ["Skiddy Steve", "Bob, it's right in front of you. You're still rendering."] |
63 | | - ]; |
64 | | - |
65 | | - const currentPool = isBreakfast ? breakfastPool : dinnerPool; |
66 | | - let i = 0; |
| 45 | + _updateTicker: function() { |
| 46 | + if (!_isAuthorized) return; |
| 47 | + const ticker = document.getElementById('status-ticker'); |
| 48 | + const now = new Date(); |
67 | 49 |
|
68 | | - _0xMealInterval = setInterval(() => { |
69 | | - if (!_0xMealActive) { clearInterval(_0xMealInterval); return; } |
70 | | - let selection = (i < currentPool.length) ? currentPool[i] : currentPool[Math.floor(Math.random() * currentPool.length)]; |
71 | | - const color = selection[0] === "Minify Dave" ? "#ff00ff" : "#e0e0e0"; |
72 | | - this.print(`[${selection[0]}]: ${selection[1]}`, color); |
73 | | - i++; |
74 | | - }, 4500); |
| 50 | + // Bytesmas is the primary focus |
| 51 | + let bmasDate = new Date(now.getFullYear(), 11, 23); |
| 52 | + if (now > bmasDate) bmasDate = new Date(now.getFullYear() + 1, 11, 23); |
| 53 | + |
| 54 | + const diff = bmasDate - now; |
| 55 | + const d = Math.floor(diff / (1000 * 60 * 60 * 24)); |
| 56 | + const h = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); |
| 57 | + const m = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); |
| 58 | + const s = Math.floor((diff % (1000 * 60)) / 1000); |
| 59 | + |
| 60 | + if (_state.bmas) { |
| 61 | + ticker.innerText = "🎄 BYTESMAS OVERRIDE: ACTIVE 🎄"; |
| 62 | + ticker.style.color = "var(--p-red)"; |
| 63 | + } else if (_state.mday) { |
| 64 | + ticker.innerText = "⭐ MILLENNIAL DAY OVERRIDE ⭐"; |
| 65 | + ticker.style.color = "var(--p-gold)"; |
| 66 | + } else { |
| 67 | + ticker.innerText = `BYTESMAS COUNTDOWN: ${d}D ${h}H ${m}M ${s}S`; |
| 68 | + ticker.style.color = "var(--p-red)"; |
| 69 | + } |
75 | 70 | }, |
76 | 71 |
|
77 | | - _dl: function() { |
78 | | - const _in = document.getElementById('input'); |
79 | | - const _out = document.getElementById('output-view'); |
| 72 | + _getTime: function() { |
| 73 | + const locale = navigator.language.includes("PH") ? "en-PH" : "en-US"; |
| 74 | + return new Date().toLocaleTimeString(locale, { hour12: false }); |
| 75 | + }, |
80 | 76 |
|
81 | | - if (!_in.value.trim()) { |
82 | | - this.print("CRITICAL: [Anti-Tamper Mary] You forgot the code, just like I forgot the memorial!", "#ff3131"); |
83 | | - this.print("[Skiddy Steve]: My school bus is faster than this empty script.", "#ff3131"); |
84 | | - return; |
85 | | - } |
| 77 | + print: function(msg, color = "#fff") { |
| 78 | + const _log = document.getElementById('steve-logs'); |
| 79 | + if (!_log) return; |
| 80 | + const div = document.createElement('div'); |
| 81 | + div.className = 'log-entry'; |
| 82 | + div.style.color = color; |
| 83 | + div.innerHTML = `<span class="log-ts">${this._getTime()}</span>${msg}`; |
| 84 | + _log.appendChild(div); |
| 85 | + _log.scrollTop = _log.scrollHeight; |
| 86 | + }, |
86 | 87 |
|
| 88 | + _resetIdle: function() { |
| 89 | + if (!_isAuthorized) return; |
87 | 90 | clearInterval(_0xMealInterval); |
| 91 | + clearTimeout(_0xMealTimer); |
88 | 92 | _0xMealActive = false; |
89 | | - |
90 | | - this.print("[Anti-Tamper Mary]: WORK MODE. Clearing the table.", "#ff3131"); |
91 | 93 |
|
92 | | - // Simulating the POBFUS encode |
93 | | - const _encoded = btoa(_in.value); |
94 | | - _out.value = `-- POBFUS v1.13.100\nlocal _ = "${_encoded}"\nreturn(function(...) print('Pilot 1.13.100: Flight Successful') end)(...)`; |
95 | | - |
96 | | - // Download trigger |
97 | | - const blob = new Blob([_out.value], { type: 'text/plain' }); |
98 | | - const url = window.URL.createObjectURL(blob); |
99 | | - const a = document.createElement('a'); |
100 | | - a.href = url; |
101 | | - a.download = `pobfus_payload.lua.txt`; |
102 | | - a.click(); |
103 | | - |
104 | | - this.print("AutoSave: Download Finished. Flight is airborne.", "#00aaff"); |
105 | | - this.print(`[Minify Dave]: (Baby Giggle) - Dave helped!`, "#ff00ff"); |
106 | | - this._resetIdle(); |
107 | | - } |
108 | | -}; |
109 | | - |
110 | | -window.onload = () => { |
111 | | - _011.print("POBFUS v1.13.100 initialized. Pilot monitoring active.", "#39ff14"); |
112 | | - _011._resetIdle(); |
113 | | -}; |
| 94 | + // Dynamic threshold: 25 seconds less if near Bytesmas |
| 95 | + let threshold = Math.random() * (180000 - 120000) + 120000; |
| 96 | + const now = new Date(); |
| 97 | + const bmas = new Date(now.getFullYear(), 11, 23); |
| 98 | + if (bmas - now < 2592000000 || _state.bmas) threshold -= 25000; |
114 | 99 |
|
115 | | -['mousemove', 'keydown'].forEach(e => document.addEventListener(e, () => _011._resetIdle())); if (_icon) _icon.src = "https://img.icons8.com/?size=128&id=42bqS7y7Ga9o&format=png"; |
116 | | - |
117 | | - this.print("POBFUS v1.13.100 initialized.", "#39ff14"); |
118 | | - this.print("Ready for flight. Systems clear."); |
119 | | - this._resetIdle(); |
| 100 | + _0xMealTimer = setTimeout(() => this._startEvent(), threshold); |
120 | 101 | }, |
121 | 102 |
|
122 | | - _resetIdle: function() { |
123 | | - clearTimeout(_0xIdleTimer); |
124 | | - _0xIsDinnerActive = false; |
125 | | - _0xIdleTimer = setTimeout(() => this._startDinner(), _0xDinnerThreshold); |
126 | | - }, |
127 | | - |
128 | | - /** |
129 | | - * FAMILY ERROR LOGS: Mentioned only when things break |
130 | | - */ |
131 | | - _triggerFamilyError: function(type) { |
132 | | - const _errBar = document[_0x110[1]](_0x110[4]); |
133 | | - _errBar.style.display = 'block'; |
134 | | - setTimeout(() => { _errBar.style.display = 'none'; }, 4000); |
135 | | - |
136 | | - if (type === "EMPTY") { |
137 | | - this.print("CRITICAL: [Anti-Tamper Mary] STOP. You are trying to obfuscate air. Input code!", "#ff3131"); |
138 | | - this.print("[Skiddy Steve]: Seriously? I can't fly a plane with no passengers.", "#ff3131"); |
139 | | - this.print("[Minify Dave]: (Baby Crying) - Bu-bu-buffer empty!", "#ff00ff"); |
| 103 | + _startEvent: function() { |
| 104 | + _0xMealActive = true; |
| 105 | + const now = new Date(); |
| 106 | + const isMemorial = (now.getMonth() === 2 && now.getDate() >= 8 && now.getDate() <= 15); |
| 107 | + |
| 108 | + // Dialogue speed: 15 seconds less (faster frequency) if near Bytesmas |
| 109 | + let speed = 4500; |
| 110 | + if (_state.bmas) speed = 3000; |
| 111 | + |
| 112 | + if (_state.bmas) { |
| 113 | + this.print("--- BYTESMAS EVE (OVERRIDE) ---", "var(--p-red)"); |
| 114 | + this._runCycle([ |
| 115 | + ["Anti-Tamper Mary", "Did everyone encrypt their wishlist?"], |
| 116 | + ["Sly Sarah", "I bypassed the wrapping paper logic already."], |
| 117 | + ["Minify Dave", "BY-PAS! BY-PAS!"] |
| 118 | + ], "var(--p-red)", speed); |
| 119 | + } else if (_state.mday) { |
| 120 | + this.print("--- MILLENNIAL DAY ---", "var(--p-gold)"); |
| 121 | + this._runCycle([["Hexadecimal Jim", "A toast to the Millennial kernel!"]], "var(--p-gold)", speed); |
| 122 | + } else if (isMemorial) { |
| 123 | + this.print("--- v0.7 MEMORIAL (DEPRECATED MARCH 8) ---", "#8b949e"); |
| 124 | + this._runCycle([ |
| 125 | + ["Anti-Tamper Mary", "March 14th... Millennial Day feels different without 0.7."], |
| 126 | + ["Hexadecimal Jim", "He was a good build. 0.8 is still staring at the cooling fans."], |
| 127 | + ["Buffer Bob", "I... still... miss... him..."] |
| 128 | + ], "#8b949e", 5000); |
140 | 129 | } else { |
141 | | - this.print("CRITICAL: [Hexadecimal Jim] 0xERROR. The export path is corrupted.", "#ff3131"); |
142 | | - this.print("[Sly Sarah]: I tried to spoof the failure, but it's too messy.", "#ff3131"); |
143 | | - this.print("[Buffer Bob]: The... mashed... junk... is... spilling... everywhere...", "#ff3131"); |
| 130 | + this.print("--- FAMILY DINNER ---", "#00aaff"); |
| 131 | + this._runCycle([["Anti-Tamper Mary", "Steve, eat your breakfast."]], "#e0e0e0", 4500); |
144 | 132 | } |
145 | 133 | }, |
146 | 134 |
|
147 | | - _startDinner: function() { |
148 | | - _0xIsDinnerActive = true; |
149 | | - const chats = [ |
150 | | - ["Anti-Tamper Mary", "It's quiet. v0.8's brother anniversary dinner is served."], |
151 | | - ["Hexadecimal Jim", "Pass the 0x43\x6f\x6e\x74\x72\x6f\x6c\x20\x46\x6c\x6f\x77 Wine. To the pilots v0.7 and 1.0."], |
152 | | - ["Skiddy Steve", "Mashed Junk Injection-tatoes are the best, Mom."], |
153 | | - ["Sly Sarah", "I'm checking on v1.12.05's charity while I eat."], |
154 | | - ["Buffer Bob", "Minify Dave... is... eating... his... Anti-Tamper Cheese... fast..."], |
155 | | - ["Minify Dave", "Goo-goo! (50-day anniversary noises)"], |
156 | | - ["Anti-Tamper Mary", "Remember 1.12.06 in the ICU tonight. Eat up, family."] |
157 | | - ]; |
158 | | - |
159 | | - this.print("--- IDLE MODE: FAMILY DINNER IN SESSION ---", "#00aaff"); |
| 135 | + _runCycle: function(pool, defColor, speed) { |
160 | 136 | let i = 0; |
161 | | - const interval = setInterval(() => { |
162 | | - if (!_0xIsDinnerActive) { clearInterval(interval); return; } |
163 | | - if (i < chats.length) { |
164 | | - this.print(`[${chats[i][0]}]: ${chats[i][1]}`, "#e0e0e0"); |
165 | | - i++; |
166 | | - } else { clearInterval(interval); } |
167 | | - }, 4500); |
| 137 | + _0xMealInterval = setInterval(() => { |
| 138 | + if (!_0xMealActive) return; |
| 139 | + let s = pool[i % pool.length]; |
| 140 | + this.print(`[${s[0]}]: ${s[1]}`, s[0] === "Minify Dave" ? "#ff00ff" : defColor); |
| 141 | + i++; |
| 142 | + }, speed); |
168 | 143 | }, |
169 | 144 |
|
170 | 145 | _dl: function() { |
171 | | - const _in = document[_0x110[1]](_0x110[3]); |
172 | | - const _val = _in ? _in.value : ''; |
173 | | - |
174 | | - // If empty, trigger the Family Error Logs |
175 | | - if (!_val || _val.trim().length === 0) { |
176 | | - this._triggerFamilyError("EMPTY"); |
177 | | - return; |
178 | | - } |
179 | | - |
180 | | - _0xIsDinnerActive = false; |
181 | | - |
182 | | - try { |
183 | | - const _fname = `pobfus-${Math.random().toString(36).substring(2, 15).toUpperCase()}.lua.txt`; |
184 | | - const _blob = new Blob(["-- POBFUS PROTECTED --\n" + _val], { 'type': 'text/plain' }); |
185 | | - const _url = window.URL.createObjectURL(_blob); |
186 | | - const _link = document.createElement('a'); |
187 | | - _link.href = _url; |
188 | | - _link.download = _fname; |
189 | | - _link.click(); |
190 | | - |
191 | | - this.print(`AutoSave:Download Finished [${_fname}]`, "#00aaff"); |
192 | | - } catch (e) { |
193 | | - this._triggerFamilyError("CRASH"); |
194 | | - } |
| 146 | + const _in = document.getElementById('input'); |
| 147 | + if (!_in.value.trim()) return; |
| 148 | + clearInterval(_0xMealInterval); |
| 149 | + _0xMealActive = false; |
| 150 | + this.print("[Skiddy Steve]: Flight delivering now.", "#39ff14"); |
| 151 | + document.getElementById('output-view').value = `-- POBFUS 1.13.100\nlocal _ = "${btoa(_in.value)}"`; |
195 | 152 | this._resetIdle(); |
196 | 153 | } |
197 | 154 | }; |
198 | 155 |
|
199 | | -window.onload = () => _011._boot(); |
200 | | -document.addEventListener('mousemove', () => _011._resetIdle()); |
201 | | -document.addEventListener('keydown', () => _011._resetIdle()); |
| 156 | +window.onload = () => _011._init(); |
| 157 | +['mousemove', 'keydown'].forEach(e => document.addEventListener(e, () => _011._resetIdle())); |
0 commit comments