mirror of
https://github.com/pierre42100/ComunicWeb
synced 2025-06-19 12:25:16 +00:00
Easter egg special Manon
This commit is contained in:
70
assets/js/components/manon.js
Normal file
70
assets/js/components/manon.js
Normal file
@ -0,0 +1,70 @@
|
||||
/**
|
||||
* Manon's special (hidden) features
|
||||
*
|
||||
* @author Pierre Hubert
|
||||
*/
|
||||
|
||||
/**
|
||||
* Check if it is Manon's birthday
|
||||
*/
|
||||
async function checkManonBirthday() {
|
||||
|
||||
// Manon's feature only
|
||||
if(userID() !== 150)
|
||||
return;
|
||||
|
||||
const date = new Date();
|
||||
|
||||
if(date.getMonth() != 4 && date.getDay() != 8)//TODO: replace
|
||||
return;
|
||||
|
||||
// Load clippy
|
||||
const css = document.createElement("link");
|
||||
css.rel = "stylesheet";
|
||||
css.type = "text/css";
|
||||
css.href = ComunicWeb.__config.assetsURL + "3rdparty/clippy.js/clippy.css"
|
||||
document.head.appendChild(css);
|
||||
|
||||
const js = document.createElement("script");
|
||||
js.type = "text/javascript";
|
||||
js.src = ComunicWeb.__config.assetsURL + "3rdparty/clippy.js/clippy.min.js"
|
||||
document.body.appendChild(js);
|
||||
|
||||
await new Promise((res, rej) => js.addEventListener("load", res));
|
||||
|
||||
|
||||
// Configure clippy
|
||||
clippy.BASE_PATH = ComunicWeb.__config.assetsURL + "3rdparty/clippy.js/Agents/";
|
||||
|
||||
// Load Merlin
|
||||
const agent = await new Promise((res, rej) => clippy.load('Merlin', res));
|
||||
|
||||
|
||||
|
||||
// Wait for Manon
|
||||
await new Promise((res, rej) => window.addEventListener("mousedown", res, {once: true}));
|
||||
|
||||
|
||||
|
||||
|
||||
// Show the agent
|
||||
agent.show();
|
||||
|
||||
agent.play("Announce");
|
||||
|
||||
|
||||
|
||||
agent.speak("Joyeux anniversaire Manon ! Que cette nouvelle année qui commence pour toi t'apporte la joie !", true);
|
||||
setTimeout(() => agent.stopCurrent(), 8000);
|
||||
|
||||
agent.play("Pleased", 6000, () => agent.hide());
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Do the check on first page load only
|
||||
document.addEventListener("wsOpen", () => {
|
||||
setTimeout(() => checkManonBirthday(), 1000);
|
||||
}, {
|
||||
once: true
|
||||
})
|
Reference in New Issue
Block a user