fix emoji effects
Browse files
src/lib/components/Battle/BattleEffects.svelte
CHANGED
@@ -38,7 +38,7 @@
|
|
38 |
|
39 |
// Enhanced animation properties for more dynamic effects
|
40 |
const scale = 0.6 + Math.random() * 0.6; // 0.6x to 1.2x initial size
|
41 |
-
const rotation = Math.random() *
|
42 |
const duration = Math.max(effect.duration * 1.8, 1800) + (Math.random() - 0.5) * 400; // Longer base duration
|
43 |
const delay = Math.random() * 200; // More staggered animation starts
|
44 |
|
@@ -265,19 +265,19 @@
|
|
265 |
opacity: 1;
|
266 |
}
|
267 |
25% {
|
268 |
-
transform: translate(calc(-50% + var(--move-x) * 0.3), calc(-50% + var(--move-y) * 0.3)) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
269 |
opacity: 0.95;
|
270 |
}
|
271 |
50% {
|
272 |
-
transform: translate(calc(-50% + var(--move-x) * 0.6), calc(-50% + var(--move-y) * 0.6)) scale(calc(var(--initial-scale) * 1.3)) rotate(calc(var(--initial-rotation)
|
273 |
opacity: 0.8;
|
274 |
}
|
275 |
75% {
|
276 |
-
transform: translate(calc(-50% + var(--move-x) * 0.9), calc(-50% + var(--move-y) * 0.9)) scale(calc(var(--initial-scale) * 0.7)) rotate(calc(var(--initial-rotation) +
|
277 |
opacity: 0.5;
|
278 |
}
|
279 |
100% {
|
280 |
-
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y))) scale(0.3) rotate(calc(var(--initial-rotation)
|
281 |
opacity: 0;
|
282 |
}
|
283 |
}
|
@@ -288,19 +288,19 @@
|
|
288 |
opacity: 0;
|
289 |
}
|
290 |
20% {
|
291 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
292 |
opacity: 1;
|
293 |
}
|
294 |
40% {
|
295 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
296 |
opacity: 0.8;
|
297 |
}
|
298 |
60% {
|
299 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
300 |
opacity: 0.6;
|
301 |
}
|
302 |
80% {
|
303 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
304 |
opacity: 0.3;
|
305 |
}
|
306 |
100% {
|
@@ -315,23 +315,23 @@
|
|
315 |
opacity: 0;
|
316 |
}
|
317 |
10% {
|
318 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
319 |
opacity: 1;
|
320 |
}
|
321 |
20% {
|
322 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
323 |
opacity: 0.9;
|
324 |
}
|
325 |
30% {
|
326 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
327 |
opacity: 0.8;
|
328 |
}
|
329 |
40% {
|
330 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
331 |
opacity: 0.7;
|
332 |
}
|
333 |
50% {
|
334 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
335 |
opacity: 0.6;
|
336 |
}
|
337 |
100% {
|
@@ -346,15 +346,15 @@
|
|
346 |
opacity: 0;
|
347 |
}
|
348 |
25% {
|
349 |
-
transform: translate(-50%, -55%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
350 |
opacity: 1;
|
351 |
}
|
352 |
50% {
|
353 |
-
transform: translate(-50%, -45%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
354 |
opacity: 0.9;
|
355 |
}
|
356 |
75% {
|
357 |
-
transform: translate(-50%, -55%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
358 |
opacity: 0.5;
|
359 |
}
|
360 |
100% {
|
@@ -369,15 +369,15 @@
|
|
369 |
opacity: 0;
|
370 |
}
|
371 |
30% {
|
372 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
373 |
opacity: 1;
|
374 |
}
|
375 |
60% {
|
376 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
377 |
opacity: 0.8;
|
378 |
}
|
379 |
90% {
|
380 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
381 |
opacity: 0.3;
|
382 |
}
|
383 |
100% {
|
@@ -396,19 +396,19 @@
|
|
396 |
opacity: 1;
|
397 |
}
|
398 |
30% {
|
399 |
-
transform: translate(calc(-50% + var(--move-x) * 0.2), calc(-50% + var(--move-y) * 0.2 - 20px)) scale(calc(var(--initial-scale) * 1.2)) rotate(calc(var(--initial-rotation) +
|
400 |
opacity: 0.95;
|
401 |
}
|
402 |
60% {
|
403 |
-
transform: translate(calc(-50% + var(--move-x) * 0.7), calc(-50% + var(--move-y) * 0.7 - 60px)) scale(calc(var(--initial-scale) * 1.0)) rotate(calc(var(--initial-rotation)
|
404 |
opacity: 0.7;
|
405 |
}
|
406 |
85% {
|
407 |
-
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y) - 90px)) scale(calc(var(--initial-scale) * 0.6)) rotate(calc(var(--initial-rotation) +
|
408 |
opacity: 0.3;
|
409 |
}
|
410 |
100% {
|
411 |
-
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y) - 120px)) scale(0.2) rotate(calc(var(--initial-rotation)
|
412 |
opacity: 0;
|
413 |
}
|
414 |
}
|
@@ -419,19 +419,19 @@
|
|
419 |
opacity: 0;
|
420 |
}
|
421 |
25% {
|
422 |
-
transform: translate(-50%, -30%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
423 |
opacity: 1;
|
424 |
}
|
425 |
50% {
|
426 |
-
transform: translate(-50%, -10%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
427 |
opacity: 0.8;
|
428 |
}
|
429 |
75% {
|
430 |
-
transform: translate(-50%, 10%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) -
|
431 |
opacity: 0.4;
|
432 |
}
|
433 |
100% {
|
434 |
-
transform: translate(-50%, 30%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
435 |
opacity: 0;
|
436 |
}
|
437 |
}
|
@@ -446,19 +446,19 @@
|
|
446 |
opacity: 1;
|
447 |
}
|
448 |
20% {
|
449 |
-
transform: translate(calc(-50% + var(--move-x) * 0.1), calc(-50% + var(--move-y) * 0.1)) scale(calc(var(--initial-scale) * 1.8)) rotate(calc(var(--initial-rotation) +
|
450 |
opacity: 0.95;
|
451 |
}
|
452 |
40% {
|
453 |
-
transform: translate(calc(-50% + var(--move-x) * 0.4), calc(-50% + var(--move-y) * 0.4)) scale(calc(var(--initial-scale) * 1.5)) rotate(calc(var(--initial-rotation)
|
454 |
opacity: 0.8;
|
455 |
}
|
456 |
70% {
|
457 |
-
transform: translate(calc(-50% + var(--move-x) * 0.8), calc(-50% + var(--move-y) * 0.8)) scale(calc(var(--initial-scale) * 1.1)) rotate(calc(var(--initial-rotation) +
|
458 |
opacity: 0.4;
|
459 |
}
|
460 |
100% {
|
461 |
-
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y))) scale(0.2) rotate(calc(var(--initial-rotation)
|
462 |
opacity: 0;
|
463 |
}
|
464 |
}
|
@@ -469,19 +469,19 @@
|
|
469 |
opacity: 0;
|
470 |
}
|
471 |
25% {
|
472 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
473 |
opacity: 0.7;
|
474 |
}
|
475 |
50% {
|
476 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation)
|
477 |
opacity: 0.5;
|
478 |
}
|
479 |
75% {
|
480 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) +
|
481 |
opacity: 0.3;
|
482 |
}
|
483 |
100% {
|
484 |
-
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation)
|
485 |
opacity: 0;
|
486 |
}
|
487 |
}
|
@@ -496,19 +496,19 @@
|
|
496 |
opacity: 1;
|
497 |
}
|
498 |
25% {
|
499 |
-
transform: translate(calc(-50% + var(--move-x) * 0.2), calc(-50% + var(--move-y) * 0.2 - 40px)) scale(calc(var(--initial-scale) * 1.3)) rotate(calc(var(--initial-rotation) +
|
500 |
opacity: 0.95;
|
501 |
}
|
502 |
50% {
|
503 |
-
transform: translate(calc(-50% + var(--move-x) * 0.5), calc(-50% + var(--move-y) * 0.5 - 70px)) scale(calc(var(--initial-scale) * 1.1)) rotate(calc(var(--initial-rotation)
|
504 |
opacity: 0.8;
|
505 |
}
|
506 |
75% {
|
507 |
-
transform: translate(calc(-50% + var(--move-x) * 0.8), calc(-50% + var(--move-y) * 0.8 - 100px)) scale(calc(var(--initial-scale) * 0.8)) rotate(calc(var(--initial-rotation) +
|
508 |
opacity: 0.5;
|
509 |
}
|
510 |
100% {
|
511 |
-
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y) - 130px)) scale(0.3) rotate(calc(var(--initial-rotation)
|
512 |
opacity: 0;
|
513 |
}
|
514 |
}
|
|
|
38 |
|
39 |
// Enhanced animation properties for more dynamic effects
|
40 |
const scale = 0.6 + Math.random() * 0.6; // 0.6x to 1.2x initial size
|
41 |
+
const rotation = (Math.random() - 0.5) * 30; // Much smaller initial rotation range (-15deg to +15deg)
|
42 |
const duration = Math.max(effect.duration * 1.8, 1800) + (Math.random() - 0.5) * 400; // Longer base duration
|
43 |
const delay = Math.random() * 200; // More staggered animation starts
|
44 |
|
|
|
265 |
opacity: 1;
|
266 |
}
|
267 |
25% {
|
268 |
+
transform: translate(calc(-50% + var(--move-x) * 0.3), calc(-50% + var(--move-y) * 0.3)) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 5deg));
|
269 |
opacity: 0.95;
|
270 |
}
|
271 |
50% {
|
272 |
+
transform: translate(calc(-50% + var(--move-x) * 0.6), calc(-50% + var(--move-y) * 0.6)) scale(calc(var(--initial-scale) * 1.3)) rotate(calc(var(--initial-rotation) - 8deg));
|
273 |
opacity: 0.8;
|
274 |
}
|
275 |
75% {
|
276 |
+
transform: translate(calc(-50% + var(--move-x) * 0.9), calc(-50% + var(--move-y) * 0.9)) scale(calc(var(--initial-scale) * 0.7)) rotate(calc(var(--initial-rotation) + 3deg));
|
277 |
opacity: 0.5;
|
278 |
}
|
279 |
100% {
|
280 |
+
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y))) scale(0.3) rotate(calc(var(--initial-rotation) - 5deg));
|
281 |
opacity: 0;
|
282 |
}
|
283 |
}
|
|
|
288 |
opacity: 0;
|
289 |
}
|
290 |
20% {
|
291 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 8deg)) scale(1.1);
|
292 |
opacity: 1;
|
293 |
}
|
294 |
40% {
|
295 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 10deg)) scale(0.9);
|
296 |
opacity: 0.8;
|
297 |
}
|
298 |
60% {
|
299 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 6deg)) scale(1.0);
|
300 |
opacity: 0.6;
|
301 |
}
|
302 |
80% {
|
303 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 4deg)) scale(0.7);
|
304 |
opacity: 0.3;
|
305 |
}
|
306 |
100% {
|
|
|
315 |
opacity: 0;
|
316 |
}
|
317 |
10% {
|
318 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 3deg)) scale(1.3);
|
319 |
opacity: 1;
|
320 |
}
|
321 |
20% {
|
322 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 4deg)) scale(1.1);
|
323 |
opacity: 0.9;
|
324 |
}
|
325 |
30% {
|
326 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 2deg)) scale(1.2);
|
327 |
opacity: 0.8;
|
328 |
}
|
329 |
40% {
|
330 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 3deg)) scale(1.0);
|
331 |
opacity: 0.7;
|
332 |
}
|
333 |
50% {
|
334 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 2deg)) scale(0.9);
|
335 |
opacity: 0.6;
|
336 |
}
|
337 |
100% {
|
|
|
346 |
opacity: 0;
|
347 |
}
|
348 |
25% {
|
349 |
+
transform: translate(-50%, -55%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 4deg)) scale(1.1);
|
350 |
opacity: 1;
|
351 |
}
|
352 |
50% {
|
353 |
+
transform: translate(-50%, -45%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 6deg)) scale(1.0);
|
354 |
opacity: 0.9;
|
355 |
}
|
356 |
75% {
|
357 |
+
transform: translate(-50%, -55%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 3deg)) scale(0.9);
|
358 |
opacity: 0.5;
|
359 |
}
|
360 |
100% {
|
|
|
369 |
opacity: 0;
|
370 |
}
|
371 |
30% {
|
372 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 2deg)) scale(1.4);
|
373 |
opacity: 1;
|
374 |
}
|
375 |
60% {
|
376 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 1deg)) scale(1.2);
|
377 |
opacity: 0.8;
|
378 |
}
|
379 |
90% {
|
380 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 1deg)) scale(0.8);
|
381 |
opacity: 0.3;
|
382 |
}
|
383 |
100% {
|
|
|
396 |
opacity: 1;
|
397 |
}
|
398 |
30% {
|
399 |
+
transform: translate(calc(-50% + var(--move-x) * 0.2), calc(-50% + var(--move-y) * 0.2 - 20px)) scale(calc(var(--initial-scale) * 1.2)) rotate(calc(var(--initial-rotation) + 4deg));
|
400 |
opacity: 0.95;
|
401 |
}
|
402 |
60% {
|
403 |
+
transform: translate(calc(-50% + var(--move-x) * 0.7), calc(-50% + var(--move-y) * 0.7 - 60px)) scale(calc(var(--initial-scale) * 1.0)) rotate(calc(var(--initial-rotation) - 6deg));
|
404 |
opacity: 0.7;
|
405 |
}
|
406 |
85% {
|
407 |
+
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y) - 90px)) scale(calc(var(--initial-scale) * 0.6)) rotate(calc(var(--initial-rotation) + 3deg));
|
408 |
opacity: 0.3;
|
409 |
}
|
410 |
100% {
|
411 |
+
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y) - 120px)) scale(0.2) rotate(calc(var(--initial-rotation) - 2deg));
|
412 |
opacity: 0;
|
413 |
}
|
414 |
}
|
|
|
419 |
opacity: 0;
|
420 |
}
|
421 |
25% {
|
422 |
+
transform: translate(-50%, -30%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 8deg)) scale(1.2);
|
423 |
opacity: 1;
|
424 |
}
|
425 |
50% {
|
426 |
+
transform: translate(-50%, -10%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 10deg)) scale(1.0);
|
427 |
opacity: 0.8;
|
428 |
}
|
429 |
75% {
|
430 |
+
transform: translate(-50%, 10%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 5deg)) scale(0.8);
|
431 |
opacity: 0.4;
|
432 |
}
|
433 |
100% {
|
434 |
+
transform: translate(-50%, 30%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 3deg)) scale(0.6);
|
435 |
opacity: 0;
|
436 |
}
|
437 |
}
|
|
|
446 |
opacity: 1;
|
447 |
}
|
448 |
20% {
|
449 |
+
transform: translate(calc(-50% + var(--move-x) * 0.1), calc(-50% + var(--move-y) * 0.1)) scale(calc(var(--initial-scale) * 1.8)) rotate(calc(var(--initial-rotation) + 8deg));
|
450 |
opacity: 0.95;
|
451 |
}
|
452 |
40% {
|
453 |
+
transform: translate(calc(-50% + var(--move-x) * 0.4), calc(-50% + var(--move-y) * 0.4)) scale(calc(var(--initial-scale) * 1.5)) rotate(calc(var(--initial-rotation) - 12deg));
|
454 |
opacity: 0.8;
|
455 |
}
|
456 |
70% {
|
457 |
+
transform: translate(calc(-50% + var(--move-x) * 0.8), calc(-50% + var(--move-y) * 0.8)) scale(calc(var(--initial-scale) * 1.1)) rotate(calc(var(--initial-rotation) + 6deg));
|
458 |
opacity: 0.4;
|
459 |
}
|
460 |
100% {
|
461 |
+
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y))) scale(0.2) rotate(calc(var(--initial-rotation) - 4deg));
|
462 |
opacity: 0;
|
463 |
}
|
464 |
}
|
|
|
469 |
opacity: 0;
|
470 |
}
|
471 |
25% {
|
472 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 8deg)) scale(1.2);
|
473 |
opacity: 0.7;
|
474 |
}
|
475 |
50% {
|
476 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 10deg)) scale(1.0);
|
477 |
opacity: 0.5;
|
478 |
}
|
479 |
75% {
|
480 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 6deg)) scale(0.8);
|
481 |
opacity: 0.3;
|
482 |
}
|
483 |
100% {
|
484 |
+
transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 4deg)) scale(0.4);
|
485 |
opacity: 0;
|
486 |
}
|
487 |
}
|
|
|
496 |
opacity: 1;
|
497 |
}
|
498 |
25% {
|
499 |
+
transform: translate(calc(-50% + var(--move-x) * 0.2), calc(-50% + var(--move-y) * 0.2 - 40px)) scale(calc(var(--initial-scale) * 1.3)) rotate(calc(var(--initial-rotation) + 5deg));
|
500 |
opacity: 0.95;
|
501 |
}
|
502 |
50% {
|
503 |
+
transform: translate(calc(-50% + var(--move-x) * 0.5), calc(-50% + var(--move-y) * 0.5 - 70px)) scale(calc(var(--initial-scale) * 1.1)) rotate(calc(var(--initial-rotation) - 7deg));
|
504 |
opacity: 0.8;
|
505 |
}
|
506 |
75% {
|
507 |
+
transform: translate(calc(-50% + var(--move-x) * 0.8), calc(-50% + var(--move-y) * 0.8 - 100px)) scale(calc(var(--initial-scale) * 0.8)) rotate(calc(var(--initial-rotation) + 4deg));
|
508 |
opacity: 0.5;
|
509 |
}
|
510 |
100% {
|
511 |
+
transform: translate(calc(-50% + var(--move-x)), calc(-50% + var(--move-y) - 130px)) scale(0.3) rotate(calc(var(--initial-rotation) - 3deg));
|
512 |
opacity: 0;
|
513 |
}
|
514 |
}
|