diff options
| author | stonedDiscord <Tukz@gmx.de> | 2022-08-27 19:45:47 +0200 |
|---|---|---|
| committer | stonedDiscord <Tukz@gmx.de> | 2022-08-27 19:45:47 +0200 |
| commit | 8b90b431126525bc1b63a6315abe19ec294b1889 (patch) | |
| tree | ea6a616d9cf8840495bb0b9e8c06b84400028761 /webAO/viewport.ts | |
| parent | 3b1051e0717e0c82b98d345e33892894032a5e7e (diff) | |
| parent | 3c15b3bb517feba40083865a2574ec1d04bb2108 (diff) | |
Merge branch 'css-rain'
Diffstat (limited to 'webAO/viewport.ts')
| -rw-r--r-- | webAO/viewport.ts | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/webAO/viewport.ts b/webAO/viewport.ts index 0f0dc01..c778891 100644 --- a/webAO/viewport.ts +++ b/webAO/viewport.ts @@ -635,15 +635,35 @@ const viewport = (masterClient: Client): Viewport => { // apply effects fg.style.animation = ""; + const effectName = chatmsg.effects[0].toLowerCase(); const badEffects = ["", "-", "none"]; - if ( + if (effectName.startsWith("rain") ) { + (<HTMLLinkElement>document.getElementById("effect_css")).href = "styles/effects/rain.css"; + let intensity = 200; + if(effectName.endsWith("weak")) { + intensity = 100; + } else if (effectName.endsWith("strong")) { + intensity = 400; + } + if ( intensity < fg.childElementCount) + fg.innerHTML = ''; + else + intensity = intensity - fg.childElementCount; + + for (let i = 0; i < intensity; i++) { + let drop = document.createElement("p"); + drop.style.left = (Math.random() * 100) + "%"; + drop.style.animationDelay = String(Math.random())+"s"; + fg.appendChild(drop) + } + } else if ( chatmsg.effects[0] && - !badEffects.includes(chatmsg.effects[0].toLowerCase()) + !badEffects.includes(effectName) ) { + (<HTMLLinkElement>document.getElementById("effect_css")).href = ""; + fg.innerHTML = ''; const baseEffectUrl = `${AO_HOST}themes/default/effects/`; - fg.src = `${baseEffectUrl}${encodeURI( - chatmsg.effects[0].toLowerCase() - )}.webp`; + fg.src = `${baseEffectUrl}${encodeURI(effectName)}.webp`; } else { fg.src = transparentPng; } |
