make awards significantly less retarded #12

Merged
Aevann merged 5 commits from :rework-awards into master 2022-11-27 02:05:12 +00:00
4 changed files with 192 additions and 281 deletions

View File

@ -1,219 +1,159 @@
#awards-container {
position:fixed;
pointer-events: none;
z-index:9999;
}
#awards-container > div {
position: absolute;
}
/*seal*/
.wholesome img {
width: 100px !important;
height: 89.5px !important;
}
@media (max-width: 992px) {
.wholesome img {
width: 40px !important;
height: 27px !important;
}
}
.wholesome {animation: sealX 9s linear infinite}
.wholesome img {animation: sealY 10s linear infinite}
.wholesome1 {animation-direction: alternate}
.wholesome1 img {animation-direction: alternate}
.wholesome2 {animation-direction: alternate-reverse}
.wholesome2 img {animation-direction: alternate-reverse}
.wholesome3 {animation-direction: alternate}
.wholesome3 img {animation-direction: alternate-reverse}
.wholesome4 {animation-direction: alternate-reverse}
.wholesome4 img {animation-direction: alternate}
@keyframes sealX {
from {} to {transform: translateX(98vw)}
}
@keyframes sealY {
from {} to {transform: translateY(85vh)}
}
/*train common*/
.train1, .scooter1 {top:2%}
.train2, .scooter2 {top:27%}
.train3, .scooter3 {top:52%}
.train4, .scooter4 {top:77%}
@keyframes train {
from {transform: translateX(-3vw)}
to {transform: translateX(99vw)}
}
/*train*/
.train img {
width: 100px !important;
height: 51px !important;
}
@media (max-width: 992px) {
.train img {
width: 40px !important;
height: 20px !important;
}
}
.train{animation: train 11s linear infinite;}
.train:nth-of-type(odd) {animation-direction: reverse;}
.train:nth-of-type(odd) img {transform: scaleX(-1);}
/*scooter*/
.scooter img {
width: 100px !important;
height: 135px !important;
}
@media (max-width: 992px) {
.scooter img {
width: 40px !important;
height: 54px !important;
}
}
.scooter {animation: train 11s linear infinite;}
.scooter:nth-of-type(even) {animation-direction: reverse;}
.scooter:nth-of-type(even) img {transform: scaleX(-1);}
/*confetti*/
#post-award-confetti {
position: fixed;
z-index: 9998;
width: 100%;
height: 100%;
pointer-events: none !important;
.confetti {
background-image: url(/assets/images/confetti2.webp);
background-repeat: repeat;
}
/*fireworks*/
.firework {
position:fixed;
z-index:9999;
pointer-events: none;
width: 100% !important;
height: 100% !important;
pointer-events: none !important;
}
.firework img {
max-width: 15rem;
}
/*ricardo*/
.ricardo {
position: fixed;
z-index: 9997;
pointer-events: none !important;
position: fixed !important;
bottom: 0;
}
.ricardo img {
max-height: 15rem !important;
max-height: min(30vw,15rem) !important;
max-height: min(30vw,15rem);
}
.ricardoleft {
animation: ricardoleft 2.9s 2 alternate !important;
.ricardo1 {animation: ricardo1Xa 5.8s linear infinite, ricardo1Xb 11.6s linear infinite, ricardo1Y 23.2s linear infinite;}
.ricardo2 {animation: ricardo2 8.5s linear infinite;}
.ricardo3 {animation: ricardo3 10s linear infinite;}
@keyframes ricardo1Xa {
0% {right: -200px}
50% {right: 200px}
100% {right: -200px}
}
.ricardoright {
animation: ricardoright 2.9s 2 alternate !important;
@keyframes ricardo1Xb {
0%{left:unset}
49% {left: unset}
50% {left: -200px}
75% {left:200px}
100% {left: -200px}
}
@keyframes ricardoleft {
from {}
to {transform: translateX(200px);}
@keyframes ricardo1Y {
0% {bottom:20vh}
24% {bottom: 20vh}
25% {bottom: 60vh}
49% {bottom: 60vh}
50% {bottom: 10vh}
74% {bottom: 10vh}
75% {bottom: 50vh}
99% {bottom: 50vh}
100% {bottom: 20vh}
}
@keyframes ricardoright {
from {transform: translateX(110vw);}
to {transform: translateX(95vw);}
}
#ricardo1 {
top:70%;
left:-10%;
}
#ricardo2 {
top:80%;
left:50%;
animation: ricardo2 1.7s linear infinite !important;
max-height:200px;
}
#ricardo3 {
top:85%;
animation: ricardo3 10s linear infinite !important;
max-height:150px;
}
@keyframes ricardo2 {
0% {opacity:20%}
50% {opacity:100%}
100% {opacity:0%}
0% { opacity: 1; left: 0; right: unset;}
18% {opacity: 0; left: 0; right: unset;}
19% {opacity: 0; left: unset; right: 20vw;}
20% {opacity: 1; left: unset; right: 20vw;}
38% {opacity: 0; left: unset; right: 20vw;}
39% {opacity: 0; left: 20vw; right: unset;}
40% {opacity: 1; left: 20vw; right: unset;}
58% {opacity: 0; left: 20vw; right: unset;}
59% {opacity: 0; left: unset;right: 60vw;}
60% {opacity: 1; left: unset; right: 60vw;}
78% {opacity: 0; left: unset; right: 60vw;}
79% {opacity: 0; left: 80vw; right: unset;}
80% {opacity: 1; left: 80vw; right: unset;}
98% {opacity: 0; left: 80vw; right: unset;}
99% {opacity: 0; left: 0; right: unset;}
100% {opacity: 1; left: 0; right: unset;}
}
@keyframes ricardo3 {
50% {transform: translateX(105vw);}
51% {transform: translate(105vw,-86vh) rotate(180deg);}
100% {transform: translate(-15vw,-86vh) rotate(180deg);}
}
@media (max-width: 768px) {
@keyframes ricardo3 {
50% {transform: translateX(105vw);}
51% {transform: translate(105vw,-86vh) rotate(180deg);}
100% {transform: translate(-70vw,-86vh) rotate(180deg);}
}
}
/*glow*/
.glow .post-title, .glow a, .glow .post-meta *, .glow .user-info *, .glow .comment-text, .glow .comment-actions *, .glow {
color:lightgreen !important;
text-shadow:1px 1px 1px darkgreen, 0 0 5px green;
}
.glow .score-up, .glow .active.arrow-up::before, .glow .arrow-up::after, .glow .arrow-up:hover::before {
color: lime !important;
}
.glow .score-down, .glow .active.arrow-down::before, .glow .arrow-down::after, .glow .arrow-down:hover::before {
color: lime !important;
}
.glow .arrow-up::before, .glow .arrow-down::before, .glow .score {
color: lightgreen;
}
.glow .post-body a, .glow .comment-text a {
text-decoration: underline;
}
/*train*/
.train {
position:fixed;
z-index:9999;
pointer-events: none;
}
.trainimg {
width: 100px !important;
height: 51px !important;
}
@media (max-width: 992px) {
.trainimg {
width: 40px !important;
height: 20px !important;
}
}
.train1 {
top: 10%
}
.train2 {
top: 35%
}
.train3 {
top: 60%
}
.train4 {
top: 85%
}
/*scooter*/
.scooterimg {
width: 100px !important;
height: 135px !important;
}
@media (max-width: 992px) {
.scooterimg {
width: 40px !important;
height: 54px !important;
}
}
/*seal*/
.seal {
position:fixed;
z-index:9999;
pointer-events: none;
width: 100% !important;
height: 100% !important;
}
.sealimg {
width: 100px !important;
height: 89.5px !important;
}
@media (max-width: 992px) {
.sealimg {
width: 30px !important;
height: 27px !important;
}
}
@keyframes moveX {
from {} to {transform: translateX(98vw)}
}
@keyframes moveY {
from {} to {transform: translateY(90vh)}
}
.seal1 {
animation: moveX 4s linear 0s infinite alternate !important;
}
.seal1 > img {
animation: moveY 6.8s linear 0s infinite alternate !important;
}
.seal2 {
animation: moveX 5s linear 0s infinite alternate-reverse !important;
}
.seal2 > img {
animation: moveY 8s linear 0s infinite alternate-reverse !important;
}
.seal3 {
animation: moveX 4s linear 0s infinite alternate !important;
}
.seal3 > img {
animation: moveY 5s linear 0s infinite alternate-reverse !important;
}
.seal4 {
animation: moveX 5s linear 0s infinite alternate-reverse !important;
}
.seal4 > img {
animation: moveY 6.8s linear 0s infinite alternate !important;
50% {transform: translateX(100vw); top: unset; bottom: 0;}
51% {transform: translateX(100vw) rotate(180deg); top: 0; bottom: unset;}
100% {transform: translateX(-15vw) rotate(180deg); top: 0; bottom: unset;}
}

View File

@ -5022,6 +5022,23 @@ img[src="/i/hand.webp"]+img[glow]:not([data-src]) {
pat-pfp-anim .3s infinite;
}
.glow .post-title, .glow a, .glow .post-meta *, .glow .user-info *, .glow .comment-text, .glow .comment-actions *, .glow {
color:lightgreen !important;
text-shadow:1px 1px 1px darkgreen, 0 0 5px green;
}
.glow .score-up, .glow .active.arrow-up::before, .glow .arrow-up::after, .glow .arrow-up:hover::before {
color: lime !important;
}
.glow .score-down, .glow .active.arrow-down::before, .glow .arrow-down::after, .glow .arrow-down:hover::before {
color: lime !important;
}
.glow .arrow-up::before, .glow .arrow-down::before, .glow .score {
color: lightgreen;
}
.glow .post-body a, .glow .comment-text a {
text-decoration: underline;
}
@keyframes rb {
10% { color: red; }
20% { color: orange; }

View File

@ -1,26 +0,0 @@
var isleft = true
setInterval(() => {
let ricardo1 = document.getElementById("ricardo1")
var height = Math.floor(Math.random()*60)+10
if (ricardo1) {
ricardo1.firstElementChild.src = ""
if (isleft == true) {
ricardo1.className = "ricardo ricardoright"
isleft = false
} else {
ricardo1.className = "ricardo ricardoleft"
isleft = true
}
ricardo1.firstElementChild.src = "/i/ricardo1.webp"
ricardo1.style.top=height+"%"
}
}, 5800)
setInterval(() => {
let ricardo2 = document.getElementById("ricardo2")
var xpos = Math.floor(Math.random()*9)*10
if (ricardo2) ricardo2.style.left=xpos+"%"
}, 1700)

View File

@ -1,40 +1,51 @@
{% if SITE_NAME == 'PCM' %}
{% set wholesome = '/i/wholesome.webp' %}
{% else %}
{% set wholesome = '/e/marseywholesome.webp' %}
<div id="awards-container" class="w-100 h-100">
{% macro stackable_award(award, src, alt) %}
{% for i in range(min(p.award_count(award, v), 4)) %}
<div class="{{award}} {{award}}{{i+1}}">
<img alt="{{alt}}" src="{{src}}">
</div>
{% endfor %}
{% endmacro %}
{% if p.award_count("wholesome", v) %}
{% set wholesome = '/i/wholesome.webp' if SITE_NAME == PCM else '/e/marseywholesome.webp' %}
{{ stackable_award('wholesome', wholesome, ':#marseywholesome:') }}
{% endif %}
{% for i in range(min(p.award_count("wholesome", v), 4)) %}
{% if g.inferior_browser %}
<div class="seal seal{{i+1}}" height="100%" width="100%">
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
{% if p.award_count("train", v) %}
{{ stackable_award('train', '/e/marseytrain.webp', ':#marseytrain:') }}
{% endif %}
{% if p.award_count("scooter", v) %}
{{ stackable_award('scooter', '/e/marseyscooter.webp', ':#marseyscooter:') }}
{% endif %}
{% if p.award_count("firework", v) %}
<script defer src="{{'js/fireworks.js' | asset}}"></script>
{{ stackable_award('firework', i) }}
{% endif %}
{% if p.award_count("confetti", v) %}
<div class="confetti w-100 h-100"></div>
{% endif %}
{% if p.award_count("ricardo", v) %}
{% for i in range(min(p.award_count("ricardo", v), 3)) %}
<div class="ricardo ricardo{{i+1}}">
<img src="/i/ricardo{{i+1}}.webp">
</div>
{% else %}
{% set seal_vertical = 'up' if (i % 2) == 0 else 'down' %}
{% set seal_horizontal = 'right' if i < 2 else 'left' %}
<marquee class="seal" scrollamount=10 behavior="alternate" direction="{{seal_vertical}}" height="100%">
<marquee direction="{{seal_horizontal}}" scrollamount=10 behavior="alternate" width="100%">
<img alt=":#marseywholesome:" class="sealimg" src="{{wholesome}}">
</marquee>
</marquee>
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{% for i in range(min(p.award_count("train", v), 4)) %}
{% set train_dir = 'left' if (i % 2) == 0 else 'right' %}
{% set train_mirror = ' mirrored' if (i % 2) == 0 else '' %}
<marquee class="train train{{i+1}}" direction="{{train_dir}}" scrollamount=10 width="100%">
<img alt=":#marseytrain:" class="trainimg{{train_mirror}}" src="/e/marseytrain.webp">
</marquee>
{% endfor %}
{% if p.award_count("shit", v) %}
<script defer src="{{'js/vendor/critters.js' | asset}}"></script>
<script defer src="{{'js/bugs.js' | asset}}"></script>
{% endif %}
{% for i in range(min(p.award_count("scooter", v), 4)) %}
{% set scooter_dir = 'right' if (i % 2) == 0 else 'left' %}
{% set scooter_mirror = '' if (i % 2) == 0 else ' mirrored' %}
<marquee class="train train{{(i + 2) % 4 + 1}}" direction="{{scooter_dir}}" scrollamount=10 width="100%">
<img alt=":#marseyscooter:" class="scooterimg{{scooter_mirror}}" src="/e/marseyscooter.webp">
</marquee>
{% endfor %}
{% if p.award_count("fireflies", v) %}
<script defer src="{{'js/vendor/critters.js' | asset}}"></script>
<script defer src="{{'js/fireflies.js' | asset}}"></script>
{% endif %}
{% if p.award_count("tilt", v) %}
<style>
@ -62,35 +73,4 @@
</style>
{% endif %}
{% if p.award_count("confetti", v) %}
<div id="post-award-confetti"></div>
{% endif %}
{% if p.award_count("firework", v) %}
<script defer src="{{'js/fireworks.js' | asset}}"></script>
{% for i in range(min(p.award_count("firework", v), 4)) %}
<div class="firework">
<img src="">
</div>
{% endfor %}
{% endif %}
{% if p.award_count("ricardo", v) %}
<script defer src="{{'js/ricardo.js' | asset}}"></script>
{% for i in range(min(p.award_count("ricardo", v), 3)) %}
<div id="ricardo{{i+1}}" class="ricardo">
<img src="/i/ricardo{{i+1}}.webp">
</div>
{% endfor %}
{% endif %}
{% if p.award_count("shit", v) %}
<script defer src="{{'js/vendor/critters.js' | asset}}"></script>
<script defer src="{{'js/bugs.js' | asset}}"></script>
{% endif %}
{% if p.award_count("fireflies", v) %}
<script defer src="{{'js/vendor/critters.js' | asset}}"></script>
<script defer src="{{'js/fireflies.js' | asset}}"></script>
{% endif %}
</div>