From 053a28e7046b798d83ea0cd853ebcfceb2ddcd67 Mon Sep 17 00:00:00 2001
From: Paolo Brasolin <paolo.brasolin@eurac.edu>
Date: Wed, 23 Feb 2022 17:09:55 +0100
Subject: [PATCH] chore: lint FE

---
 frontend/src/css/main.css      |   1 -
 frontend/src/css/normalize.css |   6 +-
 frontend/src/css/override.css  |   2 +-
 frontend/src/index.html        |  73 +++--
 frontend/src/js/main.js        | 570 +++++++++++++++++++--------------
 frontend/src/js/plugins.js     |  32 +-
 6 files changed, 401 insertions(+), 283 deletions(-)

diff --git a/frontend/src/css/main.css b/frontend/src/css/main.css
index 416a37e..d783e8f 100644
--- a/frontend/src/css/main.css
+++ b/frontend/src/css/main.css
@@ -260,4 +260,3 @@ textarea {
     page-break-after: avoid;
   }
 }
-
diff --git a/frontend/src/css/normalize.css b/frontend/src/css/normalize.css
index 192eb9c..bb6e2a7 100644
--- a/frontend/src/css/normalize.css
+++ b/frontend/src/css/normalize.css
@@ -174,7 +174,8 @@ textarea {
  */
 
 button,
-input { /* 1 */
+input {
+  /* 1 */
   overflow: visible;
 }
 
@@ -184,7 +185,8 @@ input { /* 1 */
  */
 
 button,
-select { /* 1 */
+select {
+  /* 1 */
   text-transform: none;
 }
 
diff --git a/frontend/src/css/override.css b/frontend/src/css/override.css
index aef727f..09b375e 100644
--- a/frontend/src/css/override.css
+++ b/frontend/src/css/override.css
@@ -1,3 +1,3 @@
-.bootbox-cancel{
+.bootbox-cancel {
   display: none;
 }
diff --git a/frontend/src/index.html b/frontend/src/index.html
index 2e8c735..fb66ca6 100644
--- a/frontend/src/index.html
+++ b/frontend/src/index.html
@@ -1,36 +1,41 @@
-<!doctype html>
+<!DOCTYPE html>
 <html class="no-js" lang="">
-
-<head>
-  <meta charset="utf-8">
-  <title>Oetzi Words</title>
-  <meta name="description" content="">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-<!--  <link rel="manifest" href="../site.webmanifest">-->
-  <!-- Place favicon.ico in the root directory -->
-<!--  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">-->
-
-  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous">
-
-
-  <link rel="stylesheet" href="css/normalize.css">
-  <link rel="stylesheet" href="css/main.css">
-  <meta name="theme-color" content="#fafafa">
-</head>
-
-<body>
-
-  <!-- Add your site or application content here -->
-  <script src="js/vendor/modernizr-3.11.2.min.js"></script>
-  <script src="js/plugins.js"></script>
-  <script src="js/main.js"></script>
-
-  <div id="gioco" style="width: 100%;height: 100%;position: absolute;background-color: black" />
-
-
-
-
-</body>
-
+  <head>
+    <meta charset="utf-8" />
+    <title>Oetzi Words</title>
+    <meta name="description" content="" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+
+    <!--  <link rel="manifest" href="../site.webmanifest">-->
+    <!-- Place favicon.ico in the root directory -->
+    <!--  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.minstart.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">-->
+
+    <link
+      rel="stylesheet"
+      href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css"
+      integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn"
+      crossorigin="anonymous"
+    />
+
+    <link rel="stylesheet" href="css/normalize.css" />
+    <link rel="stylesheet" href="css/main.css" />
+    <meta name="theme-color" content="#fafafa" />
+  </head>
+
+  <body>
+    <!-- Add your site or application content here -->
+    <script src="js/vendor/modernizr-3.11.2.min.js"></script>
+    <script src="js/plugins.js"></script>
+    <script src="js/main.js"></script>
+
+    <div
+      id="gioco"
+      style="
+        width: 100%;
+        height: 100%;
+        position: absolute;
+        background-color: black;
+      "
+    />
+  </body>
 </html>
diff --git a/frontend/src/js/main.js b/frontend/src/js/main.js
index d63bb3b..fbef84b 100644
--- a/frontend/src/js/main.js
+++ b/frontend/src/js/main.js
@@ -1,381 +1,473 @@
-import * as Phaser from 'phaser'
-import axios from 'axios';
+import * as Phaser from "phaser";
+import axios from "axios";
 import "jquery";
 import "popper.js";
 import "bootstrap";
-import * as bootbox from 'bootbox';
-import "../css/override.css"
+import * as bootbox from "bootbox";
+import "../css/override.css";
 
 let config = {
-  type: Phaser.AUTO, pixelArt: true,
-
-  backgroundColor: '#000', scale: {
-    parent: 'gioco', mode: Phaser.Scale.SHOW_ALL
-
-  }, physics: {
-    default: 'arcade', arcade: {
-      gravity: {y: 200}, debug: false
-
-    }
-  }, scene: {
+  type: Phaser.AUTO,
+  pixelArt: true,
+
+  backgroundColor: "#000",
+  scale: {
+    parent: "gioco",
+    mode: Phaser.Scale.SHOW_ALL,
+  },
+  physics: {
+    default: "arcade",
+    arcade: {
+      gravity: { y: 200 },
+      debug: false,
+    },
+  },
+  scene: {
     preload: preload,
     create: create, // update: updateScene
-  }
+  },
 };
 
-
-
-
 let game = new Phaser.Game(config);
 
-
 function preload() {
-  this.scale.scaleMode = Phaser.ScaleModes.LINEAR
-  this.load.image('b0', 'assets/background_layers/Layer_0011_0.png');
-  this.load.image('b1', 'assets/background_layers/Layer_0010_1.png');
-  this.load.image('b2', 'assets/background_layers/Layer_0009_2.png');
-  this.load.image('b3', 'assets/background_layers/Layer_0008_3.png');
-  this.load.image('b4', 'assets/background_layers/Layer_0007_Lights.png');
-  this.load.image('b5', 'assets/background_layers/Layer_0006_4.png');
-  this.load.image('b6', 'assets/background_layers/Layer_0005_5.png');
-  this.load.image('b7', 'assets/background_layers/Layer_0004_Lights.png');
-  this.load.image('b8', 'assets/background_layers/Layer_0003_6.png');
-  this.load.image('b9', 'assets/background_layers/Layer_0002_7.png');
-  this.load.image('b10', 'assets/background_layers/Layer_0001_8.png');
-  this.load.image('b11', 'assets/background_layers/Layer_0000_9.png');
-  this.load.image('logo', 'assets/background_layers/Logo.png');
-  this.load.image('ground', 'assets/background_layers/ground.png');
-  this.load.image('fadeBG', 'assets/background_layers/fadeBG.png');
-
-  this.load.spritesheet('oezi', 'assets/sprites/player/oezi.png', {frameWidth: 27, frameHeight: 35});
-  this.load.spritesheet('deer', 'assets/sprites/player/deer.png', {frameWidth: 72, frameHeight: 52});
-  this.load.spritesheet('boar', 'assets/sprites/player/boar.png', {frameWidth: 52, frameHeight: 28});
-  this.load.spritesheet('wolf', 'assets/sprites/player/wolf.png', {frameWidth: 54, frameHeight: 35});
-  this.load.spritesheet('bear', 'assets/sprites/player/bear.png', {frameWidth: 60, frameHeight: 31});
-  this.load.spritesheet('spear', 'assets/sprites/player/spear.png', {frameWidth: 31, frameHeight: 7});
-  this.load.spritesheet('spearhit', 'assets/sprites/player/spearhit.png', {frameWidth: 14, frameHeight: 33});
-  this.load.spritesheet('hit', 'assets/sprites/player/hit-sheet.png', {frameWidth: 469, frameHeight: 79});
-  this.load.spritesheet('miss', 'assets/sprites/player/misssing-sheet.png', {frameWidth: 466, frameHeight: 76});
+  this.scale.scaleMode = Phaser.ScaleModes.LINEAR;
+  this.load.image("b0", "assets/background_layers/Layer_0011_0.png");
+  this.load.image("b1", "assets/background_layers/Layer_0010_1.png");
+  this.load.image("b2", "assets/background_layers/Layer_0009_2.png");
+  this.load.image("b3", "assets/background_layers/Layer_0008_3.png");
+  this.load.image("b4", "assets/background_layers/Layer_0007_Lights.png");
+  this.load.image("b5", "assets/background_layers/Layer_0006_4.png");
+  this.load.image("b6", "assets/background_layers/Layer_0005_5.png");
+  this.load.image("b7", "assets/background_layers/Layer_0004_Lights.png");
+  this.load.image("b8", "assets/background_layers/Layer_0003_6.png");
+  this.load.image("b9", "assets/background_layers/Layer_0002_7.png");
+  this.load.image("b10", "assets/background_layers/Layer_0001_8.png");
+  this.load.image("b11", "assets/background_layers/Layer_0000_9.png");
+  this.load.image("logo", "assets/background_layers/Logo.png");
+  this.load.image("ground", "assets/background_layers/ground.png");
+  this.load.image("fadeBG", "assets/background_layers/fadeBG.png");
+
+  this.load.spritesheet("oezi", "assets/sprites/player/oezi.png", {
+    frameWidth: 27,
+    frameHeight: 35,
+  });
+  this.load.spritesheet("deer", "assets/sprites/player/deer.png", {
+    frameWidth: 72,
+    frameHeight: 52,
+  });
+  this.load.spritesheet("boar", "assets/sprites/player/boar.png", {
+    frameWidth: 52,
+    frameHeight: 28,
+  });
+  this.load.spritesheet("wolf", "assets/sprites/player/wolf.png", {
+    frameWidth: 54,
+    frameHeight: 35,
+  });
+  this.load.spritesheet("bear", "assets/sprites/player/bear.png", {
+    frameWidth: 60,
+    frameHeight: 31,
+  });
+  this.load.spritesheet("spear", "assets/sprites/player/spear.png", {
+    frameWidth: 31,
+    frameHeight: 7,
+  });
+  this.load.spritesheet("spearhit", "assets/sprites/player/spearhit.png", {
+    frameWidth: 14,
+    frameHeight: 33,
+  });
+  this.load.spritesheet("hit", "assets/sprites/player/hit-sheet.png", {
+    frameWidth: 469,
+    frameHeight: 79,
+  });
+  this.load.spritesheet("miss", "assets/sprites/player/misssing-sheet.png", {
+    frameWidth: 466,
+    frameHeight: 76,
+  });
 }
 
-
-
 // window.OetziWordsSiteUrlPrefix = "http://localhost:8080/oetzi_words/" //use this to develop
-window.OetziWordsSiteUrlPrefix = ""  // use this to deploy
-
-
-
-let gameRunning = false
-let player
-let scene
-let foreBG
-let fadeBG
-let imageInUse = []
-let enemyNumber = 0
-let ground
-let consecutiveMissing = 0
-
+window.OetziWordsSiteUrlPrefix = ""; // use this to deploy
+
+let gameRunning = false;
+let player;
+let scene;
+let foreBG;
+let fadeBG;
+let imageInUse = [];
+let enemyNumber = 0;
+let ground;
+let consecutiveMissing = 0;
 
 /* game params */
-let enemies = ["bear", "wolf", "deer", "boar"]
-let maxEnemyNumber = 4
-let enemiesSpeed = 50000
+let enemies = ["bear", "wolf", "deer", "boar"];
+let maxEnemyNumber = 4;
+let enemiesSpeed = 50000;
 /**************/
 
-
 function create() {
-  scene = this
+  scene = this;
   for (let i = 0; i <= 10; i++) {
-    this.add.tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, 'b' + i).setOrigin(0).setScrollFactor(0)
+    this.add
+      .tileSprite(
+        0,
+        0,
+        this.cameras.main.width,
+        this.cameras.main.height,
+        "b" + i,
+      )
+      .setOrigin(0)
+      .setScrollFactor(0);
   }
-  this.add.image(this.cameras.main.width / 2, 100, 'logo').setScale(0.3)
-
-
-  createAnim('player_idle', 'oezi', 1, 5)
-  createAnim('player_run', 'oezi', 6, 13)
-  createAnim('deer_run', 'deer', 0, 5)
-  createAnim('deer_idle', 'deer', 6, 15)
-  createAnim('deer_walk', 'deer', 16, 23)
-  createAnim('boar_run', 'boar', 0, 5)
-  createAnim('boar_idle', 'boar', 6, 13)
-  createAnim('boar_walk', 'boar', 14, 22)
-  createAnim('wolf_run', 'wolf', 0, 5)
-  createAnim('wolf_idle', 'wolf', 6, 15)
-  createAnim('wolf_walk', 'wolf', 16, 23)
-  createAnim('bear_run', 'bear', 12, 16)
-  createAnim('bear_idle', 'bear', 0, 11)
-  createAnim('bear_walk', 'bear', 17, 24)
-  createAnim('spearAni', 'spear', 0, 3)
-  createAnim('spearHitAni', 'spearhit', 0, 8)
-  createAnim('hit', 'hit', 0, 9)
-  createAnim('missing', 'miss', 0, 6)
-
-
-  ground = this.physics.add.staticImage(0, this.cameras.main.height - 25, 'ground').setScale(1).refreshBody();
+  this.add.image(this.cameras.main.width / 2, 100, "logo").setScale(0.3);
+
+  createAnim("player_idle", "oezi", 1, 5);
+  createAnim("player_run", "oezi", 6, 13);
+  createAnim("deer_run", "deer", 0, 5);
+  createAnim("deer_idle", "deer", 6, 15);
+  createAnim("deer_walk", "deer", 16, 23);
+  createAnim("boar_run", "boar", 0, 5);
+  createAnim("boar_idle", "boar", 6, 13);
+  createAnim("boar_walk", "boar", 14, 22);
+  createAnim("wolf_run", "wolf", 0, 5);
+  createAnim("wolf_idle", "wolf", 6, 15);
+  createAnim("wolf_walk", "wolf", 16, 23);
+  createAnim("bear_run", "bear", 12, 16);
+  createAnim("bear_idle", "bear", 0, 11);
+  createAnim("bear_walk", "bear", 17, 24);
+  createAnim("spearAni", "spear", 0, 3);
+  createAnim("spearHitAni", "spearhit", 0, 8);
+  createAnim("hit", "hit", 0, 9);
+  createAnim("missing", "miss", 0, 6);
+
+  ground = this.physics.add
+    .staticImage(0, this.cameras.main.height - 25, "ground")
+    .setScale(1)
+    .refreshBody();
   ground.setImmovable(true);
   ground.body.allowGravity = false;
 
-
-  player = this.physics.add.sprite(this.cameras.main.width + 300, this.cameras.main.height - 100, 'oezi').setScale(3).setInteractive();
-
-
-  foreBG = this.add.tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, 'b11').setOrigin(0, 0);
-  fadeBG = this.add.tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, 'fadeBG').setOrigin(0).setScrollFactor(0).setInteractive()
-  fadeBG.setVisible(false)
-
-
-  player.flipX = true
-
-  player.play({key: 'player_run'})
+  player = this.physics.add
+    .sprite(
+      this.cameras.main.width + 300,
+      this.cameras.main.height - 100,
+      "oezi",
+    )
+    .setScale(3)
+    .setInteractive();
+
+  foreBG = this.add
+    .tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, "b11")
+    .setOrigin(0, 0);
+  fadeBG = this.add
+    .tileSprite(
+      0,
+      0,
+      this.cameras.main.width,
+      this.cameras.main.height,
+      "fadeBG",
+    )
+    .setOrigin(0)
+    .setScrollFactor(0)
+    .setInteractive();
+  fadeBG.setVisible(false);
+
+  player.flipX = true;
+
+  player.play({ key: "player_run" });
 
   this.physics.add.collider(player, ground);
 
   let tween = this.tweens.add({
-    targets: player, x: this.cameras.main.width - 80, ease: 'Power2', duration: 2000, onComplete: function () {
-
-      setAnimation(player, "player_idle")
-      gameRunning = true
-      gameStart()
+    targets: player,
+    x: this.cameras.main.width - 80,
+    ease: "Power2",
+    duration: 2000,
+    onComplete: function () {
+      setAnimation(player, "player_idle");
+      gameRunning = true;
+      gameStart();
     },
   });
 
-  this.scale.displaySize.setAspectRatio(this.cameras.main.width / this.cameras.main.height);
+  this.scale.displaySize.setAspectRatio(
+    this.cameras.main.width / this.cameras.main.height,
+  );
   this.scale.refresh();
 }
 
-
 function createAnim(key, refKey, from, to) {
   scene.anims.create({
-    key: key, frames: scene.anims.generateFrameNumbers(refKey, {start: from, end: to}), frameRate: 10, repeat: -1
+    key: key,
+    frames: scene.anims.generateFrameNumbers(refKey, { start: from, end: to }),
+    frameRate: 10,
+    repeat: -1,
   });
 }
 
-
 function gameStart() {
   let waitTime = 200;
   for (let i = 0; i < maxEnemyNumber; i++) {
     setTimeout(() => {
-      dispatchEnemy()
-    }, waitTime)
-    waitTime += Math.floor((Math.random() * 4000) + 4000)
+      dispatchEnemy();
+    }, waitTime);
+    waitTime += Math.floor(Math.random() * 4000 + 4000);
   }
 }
 
-
 function dispatchEnemy() {
   let e = new enemy();
 
-  axios.post(window.OetziWordsSiteUrlPrefix + 'GetImage', {
-    sessionImages: imageInUse
-  })
+  axios
+    .post(window.OetziWordsSiteUrlPrefix + "GetImage", {
+      sessionImages: imageInUse,
+    })
     .then(function (response) {
-      e.refData = response.data
-      imageInUse.push(e.refData.id)
+      e.refData = response.data;
+      imageInUse.push(e.refData.id);
 
       e.run((v) => {
         imageInUse.splice(imageInUse.indexOf(e.refData.id), 1);
         if (gameRunning) {
           setTimeout(() => {
-            dispatchEnemy()
-          }, Math.floor((Math.random() * 10000) + 3000))
+            dispatchEnemy();
+          }, Math.floor(Math.random() * 10000 + 3000));
         }
-      })
-    })
+      });
+    });
 }
 
-
 class enemy {
-
-  refData = null
-
+  refData = null;
 
   run(callback) {
-    let me = this
-    enemyNumber++
-    let randomEnemyType = enemies[Math.floor((Math.random() * 4) + 0)];
+    let me = this;
+    enemyNumber++;
+    let randomEnemyType = enemies[Math.floor(Math.random() * 4 + 0)];
 
-    let scale = 2
+    let scale = 2;
     if (randomEnemyType === "deer") {
-      scale = 2.5
+      scale = 2.5;
     } else if (randomEnemyType === "bear") {
-      scale = 3
+      scale = 3;
     }
 
-    let enemy = scene.physics.add.sprite(-100, (scene.cameras.main.height - 100), randomEnemyType).setScale(scale).setInteractive()
-    enemy.typeName = randomEnemyType
+    let enemy = scene.physics.add
+      .sprite(-100, scene.cameras.main.height - 100, randomEnemyType)
+      .setScale(scale)
+      .setInteractive();
+    enemy.typeName = randomEnemyType;
     scene.physics.add.collider(enemy, ground);
-    enemy.flipX = true
-
-    setAnimation(enemy, enemy.typeName + "_walk")
-    scene.children.bringToTop(foreBG)
-    scene.children.bringToTop(fadeBG)
-
+    enemy.flipX = true;
 
+    setAnimation(enemy, enemy.typeName + "_walk");
+    scene.children.bringToTop(foreBG);
+    scene.children.bringToTop(fadeBG);
 
     enemy.movement = scene.tweens.add({
-      targets: enemy, x: scene.cameras.main.width + 300, duration: enemiesSpeed, onComplete: function () {
-        enemy.destroy()
+      targets: enemy,
+      x: scene.cameras.main.width + 300,
+      duration: enemiesSpeed,
+      onComplete: function () {
+        enemy.destroy();
         callback(me);
-      }, onStop: function () {
       },
+      onStop: function () {},
+    });
 
-    })
-
-    enemy.on('pointerdown', function (pointer) {
-      let hit = true
-      enemy.disableInteractive()
+    enemy.on("pointerdown", function (pointer) {
+      let hit = true;
+      enemy.disableInteractive();
       // here invoke image
-      enemy.movement.pause()
-      setAnimation(enemy, enemy.typeName + "_idle")
-      fadeBG.setVisible(true)
+      enemy.movement.pause();
+      setAnimation(enemy, enemy.typeName + "_idle");
+      fadeBG.setVisible(true);
 
-      let beginTime = (new Date()).getTime();
+      let beginTime = new Date().getTime();
 
       console.log(me.refData.image);
 
       bootbox.prompt({
         // title: "<p>Please write the transcription in the box below:</p>", message: "<p><img style='max-width: 470px' src='" + window.OetziWordsSiteUrlPrefix + 'images/' + me.refData.filename + "'/></p>", centerVertical: true, closeButton: false, buttons: {
-        title: "<p>Please write the transcription in the box below:</p>", message: "<p><img style='max-width: 470px' src='data:image/png;base64, "+me.refData.image+"'/></p>", centerVertical: true, closeButton: false, buttons: {
+        title: "<p>Please write the transcription in the box below:</p>",
+        message:
+          "<p><img style='max-width: 470px' src='data:image/png;base64, " +
+          me.refData.image +
+          "'/></p>",
+        centerVertical: true,
+        closeButton: false,
+        buttons: {
           confirm: {
-            label: 'Confirm'
-          }
-        }, callback: function (result) {
-          let endTime = (new Date()).getTime();
+            label: "Confirm",
+          },
+        },
+        callback: function (result) {
+          let endTime = new Date().getTime();
           let deltaTime = endTime - beginTime;
-          fadeBG.setVisible(false)
+          fadeBG.setVisible(false);
 
           if (result.trim().length === 0) {
-            hit = false
+            hit = false;
           }
 
-          axios.post(window.OetziWordsSiteUrlPrefix + 'CheckTranscription', {
-            refData: me.refData, transcription: result, deltaTime: deltaTime
-          })
+          axios
+            .post(window.OetziWordsSiteUrlPrefix + "CheckTranscription", {
+              refData: me.refData,
+              transcription: result,
+              deltaTime: deltaTime,
+            })
             .then(function (response) {
               // console.log(response.data);
 
-              hit = response.data.hitTheTarget
+              hit = response.data.hitTheTarget;
               if (consecutiveMissing >= 3 && deltaTime >= 3000) {
-                consecutiveMissing = 0
-                hit = true
+                consecutiveMissing = 0;
+                hit = true;
               }
               if (hit) {
-                consecutiveMissing = 0
+                consecutiveMissing = 0;
               } else {
-                consecutiveMissing++
+                consecutiveMissing++;
               }
 
-
-
               let startPoint = new Phaser.Math.Vector2(player.x, player.y);
-              let controlPoint1 = new Phaser.Math.Vector2(enemy.x + ((player.x - enemy.x) / 2), scene.cameras.main.height - (player.x - enemy.x));
-
-
-              let endPoint = new Phaser.Math.Vector2(enemy.x + (enemy.width * 1.6), scene.cameras.main.height - 60);
-              let message = scene.add.sprite(scene.cameras.main.width/2, scene.cameras.main.height/2).setScale(1)
-
+              let controlPoint1 = new Phaser.Math.Vector2(
+                enemy.x + (player.x - enemy.x) / 2,
+                scene.cameras.main.height - (player.x - enemy.x),
+              );
+
+              let endPoint = new Phaser.Math.Vector2(
+                enemy.x + enemy.width * 1.6,
+                scene.cameras.main.height - 60,
+              );
+              let message = scene.add
+                .sprite(
+                  scene.cameras.main.width / 2,
+                  scene.cameras.main.height / 2,
+                )
+                .setScale(1);
 
               // hit / missing <--- message
               if (!hit) {
-                endPoint = new Phaser.Math.Vector2(-500, scene.cameras.main.height - 60);
-                message.play({key: "missing", repeat: 1})
-                message.on('animationcomplete', ()=>{
-                  message.anims.remove('miss')
-                  message.destroy()
+                endPoint = new Phaser.Math.Vector2(
+                  -500,
+                  scene.cameras.main.height - 60,
+                );
+                message.play({ key: "missing", repeat: 1 });
+                message.on("animationcomplete", () => {
+                  message.anims.remove("miss");
+                  message.destroy();
                 });
-
-              }else{
-                let message = scene.add.sprite(scene.cameras.main.width/2, scene.cameras.main.height/2).setScale(1)
-                message.play({key: "hit", repeat: 1})
-                message.on('animationcomplete', ()=>{
-                  message.anims.remove('hit')
-                  message.destroy()
+              } else {
+                let message = scene.add
+                  .sprite(
+                    scene.cameras.main.width / 2,
+                    scene.cameras.main.height / 2,
+                  )
+                  .setScale(1);
+                message.play({ key: "hit", repeat: 1 });
+                message.on("animationcomplete", () => {
+                  message.anims.remove("hit");
+                  message.destroy();
                 });
-
               }
 
-              let curve = new Phaser.Curves.QuadraticBezier(startPoint, controlPoint1, endPoint);
+              let curve = new Phaser.Curves.QuadraticBezier(
+                startPoint,
+                controlPoint1,
+                endPoint,
+              );
 
               let graphics = scene.add.graphics();
               graphics.lineStyle(1, 0xff00ff, 1);
 
               // curve.draw(graphics); // decomment to see the trajectory
 
-
               let spear = scene.add.follower(curve);
 
               // console.log(player.x + " " + enemy.x);
               if (hit) {
-
-
                 spear.startFollow({
-                  positionOnPath: true, duration: (scene.cameras.main.width - enemy.x) * 3, rotateToPath: true, verticalAdjust: true, scale: 3, onComplete: (x, y) => {
+                  positionOnPath: true,
+                  duration: (scene.cameras.main.width - enemy.x) * 3,
+                  rotateToPath: true,
+                  verticalAdjust: true,
+                  scale: 3,
+                  onComplete: (x, y) => {
                     console.log("done");
-                    let spearHitObj = scene.add.sprite(enemy.x + (enemy.width * 1.6) - 10, scene.cameras.main.height - 60).setScale(2)
-                    setAnimation(spearHitObj, "spearHitAni")
-                    spear.anims.stop('spearAni')
-                    spear.anims.remove('spearAni')
-                    spear.destroy()
+                    let spearHitObj = scene.add
+                      .sprite(
+                        enemy.x + enemy.width * 1.6 - 10,
+                        scene.cameras.main.height - 60,
+                      )
+                      .setScale(2);
+                    setAnimation(spearHitObj, "spearHitAni");
+                    spear.anims.stop("spearAni");
+                    spear.anims.remove("spearAni");
+                    spear.destroy();
                     setTimeout(() => {
-                      enemy.flipX = false
-                      setAnimation(enemy, enemy.typeName + "_run")
-                      enemy.movement.stop()
+                      enemy.flipX = false;
+                      setAnimation(enemy, enemy.typeName + "_run");
+                      enemy.movement.stop();
                       scene.tweens.add({
-                        targets: enemy, x: -500, duration: 5000, onComplete: function () {
-                          enemy.destroy()
+                        targets: enemy,
+                        x: -500,
+                        duration: 5000,
+                        onComplete: function () {
+                          enemy.destroy();
                           callback(me);
-                        }
-                      })
-                    }, 3000)
+                        },
+                      });
+                    }, 3000);
                     setTimeout(() => {
-                      spearHitObj.destroy()
-                    }, 4000)
-                  }
+                      spearHitObj.destroy();
+                    }, 4000);
+                  },
                 });
               } else {
-                enemy.setInteractive()
-                enemy.movement.resume()
-                setAnimation(enemy, enemy.typeName + "_walk")
+                enemy.setInteractive();
+                enemy.movement.resume();
+                setAnimation(enemy, enemy.typeName + "_walk");
                 spear.startFollow({
-                  positionOnPath: true, duration: 3000, rotateToPath: true, verticalAdjust: true, scale: 3,
+                  positionOnPath: true,
+                  duration: 3000,
+                  rotateToPath: true,
+                  verticalAdjust: true,
+                  scale: 3,
                 });
               }
 
-
-              spear.scale = 2
-              spear.anims.play('spearAni')
+              spear.scale = 2;
+              spear.anims.play("spearAni");
               //console.log(enemy.typeName);
-
-            })
-        } //callback bootbox
+            });
+        }, //callback bootbox
       });
     });
 
-
-
     // here to implement health
     scene.physics.add.overlap(player, enemy, (p, nemico) => {
-      nemico.disableInteractive()
-      nemico.body.enable = false
-      nemico.movement.pause()
-      nemico.play(nemico.typeName + "_idle")
+      nemico.disableInteractive();
+      nemico.body.enable = false;
+      nemico.movement.pause();
+      nemico.play(nemico.typeName + "_idle");
       setTimeout(() => {
-        nemico.play(nemico.typeName + "_run")
+        nemico.play(nemico.typeName + "_run");
         nemico.movement.stop();
         scene.tweens.add({
-          targets: nemico, x: scene.cameras.main.width + 100, duration: 2000, onComplete: function () {
-            nemico.destroy()
+          targets: nemico,
+          x: scene.cameras.main.width + 100,
+          duration: 2000,
+          onComplete: function () {
+            nemico.destroy();
             callback(me);
-          }
-        })
-
-      }, 3000)
+          },
+        });
+      }, 3000);
     });
-
   }
 }
 
-
 function setAnimation(obj, idleKey) {
-  obj.play({key: idleKey, repeat: -1})
+  obj.play({ key: idleKey, repeat: -1 });
 }
diff --git a/frontend/src/js/plugins.js b/frontend/src/js/plugins.js
index feb7d19..c5a77bc 100644
--- a/frontend/src/js/plugins.js
+++ b/frontend/src/js/plugins.js
@@ -1,12 +1,32 @@
 // Avoid `console` errors in browsers that lack a console.
-(function() {
+(function () {
   var method;
   var noop = function () {};
   var methods = [
-    'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
-    'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
-    'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
-    'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn'
+    "assert",
+    "clear",
+    "count",
+    "debug",
+    "dir",
+    "dirxml",
+    "error",
+    "exception",
+    "group",
+    "groupCollapsed",
+    "groupEnd",
+    "info",
+    "log",
+    "markTimeline",
+    "profile",
+    "profileEnd",
+    "table",
+    "time",
+    "timeEnd",
+    "timeline",
+    "timelineEnd",
+    "timeStamp",
+    "trace",
+    "warn",
   ];
   var length = methods.length;
   var console = (window.console = window.console || {});
@@ -19,6 +39,6 @@
       console[method] = noop;
     }
   }
-}());
+})();
 
 // Place any jQuery/helper plugins in here.
-- 
GitLab