Fraser commited on
Commit
06a5e70
·
1 Parent(s): a6cc65f

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() * 180; // Reduced initial rotation range
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) + 20deg));
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) + 45deg));
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) + 60deg));
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) + 80deg));
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) - 30deg)) scale(1.1);
292
  opacity: 1;
293
  }
294
  40% {
295
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 30deg)) scale(0.9);
296
  opacity: 0.8;
297
  }
298
  60% {
299
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 20deg)) scale(1.0);
300
  opacity: 0.6;
301
  }
302
  80% {
303
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 15deg)) scale(0.7);
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) + 10deg)) scale(1.3);
319
  opacity: 1;
320
  }
321
  20% {
322
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 10deg)) scale(1.1);
323
  opacity: 0.9;
324
  }
325
  30% {
326
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 8deg)) scale(1.2);
327
  opacity: 0.8;
328
  }
329
  40% {
330
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 8deg)) scale(1.0);
331
  opacity: 0.7;
332
  }
333
  50% {
334
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 5deg)) scale(0.9);
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) + 15deg)) scale(1.1);
350
  opacity: 1;
351
  }
352
  50% {
353
- transform: translate(-50%, -45%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 15deg)) scale(1.0);
354
  opacity: 0.9;
355
  }
356
  75% {
357
- transform: translate(-50%, -55%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 10deg)) scale(0.9);
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) + 5deg)) scale(1.4);
373
  opacity: 1;
374
  }
375
  60% {
376
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 3deg)) scale(1.2);
377
  opacity: 0.8;
378
  }
379
  90% {
380
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 2deg)) scale(0.8);
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) + 15deg));
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) + 25deg));
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) + 35deg));
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) + 45deg));
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) - 30deg)) scale(1.2);
423
  opacity: 1;
424
  }
425
  50% {
426
- transform: translate(-50%, -10%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 30deg)) scale(1.0);
427
  opacity: 0.8;
428
  }
429
  75% {
430
- transform: translate(-50%, 10%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) - 20deg)) scale(0.8);
431
  opacity: 0.4;
432
  }
433
  100% {
434
- transform: translate(-50%, 30%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 10deg)) scale(0.6);
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) + 30deg));
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) + 60deg));
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) + 90deg));
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) + 120deg));
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) + 90deg)) scale(1.2);
473
  opacity: 0.7;
474
  }
475
  50% {
476
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 180deg)) scale(1.0);
477
  opacity: 0.5;
478
  }
479
  75% {
480
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 270deg)) scale(0.8);
481
  opacity: 0.3;
482
  }
483
  100% {
484
- transform: translate(-50%, -50%) scale(var(--initial-scale)) rotate(calc(var(--initial-rotation) + 360deg)) scale(0.4);
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) + 20deg));
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) + 30deg));
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) + 40deg));
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) + 50deg));
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
  }