IEnumerator ZapClock(RecieverSpear recieverScript)
    {
        //lineR.enabled = true;
        lineR.SetPosition(0, transform.position);
        lineR.SetPosition(1, recieverScript.gameObject.transform.position);
        ZapRayCollision(recieverScript);
        yield return(new WaitForSeconds(2f));

        lineR.enabled = false;
        Destroy(gameObject);
    }
    void ZapRayCollision(RecieverSpear recieverScript)     //only run once per object/character (like trigger entre)
    {
        print("Zap");

        RaycastHit2D[] hits = Physics2D.RaycastAll(transform.position, recieverScript.gameObject.transform.position, Vector3.Distance(transform.position, recieverScript.gameObject.transform.position));

        if (hits.Length > 0)
        {
            for (int i = 0; i < hits.Length; i++)
            {
                GameObject hitObj = hits[i].collider.gameObject;

                if (hitObj.GetComponent <CharacterCommon>())
                {
                    hitObj.GetComponent <CharacterCommon>().TakeDamage(minLightningDamage, maxLightningDamage, myOwner);
                    print("ZAP");
                }
            }
        }

        /*
         * if (hit.collider != null) //error
         * {
         *
         *
         *      GameObject hitObj = hit.collider.gameObject;
         *      print("hit esixtsts " + hitObj);
         *      if (hitObj.GetComponent<CharacterCommon>())
         *      {
         *              print("Is player");
         *              hitObj.GetComponent<CharacterCommon>().TakeDamage(minLightningDamage, maxLightningDamage, myOwner);
         *
         *              foreach (GameObject obj in alreadyHitObjs)
         *              {
         *                      if (hitObj == obj)
         *                      {
         *                              return;
         *                      }
         *              }
         *              print("post return");
         *
         *              if (hitObj != myOwner.gameObject)
         *              {
         *                      for (int i = 0; i < alreadyHitObjs.Length; i++)
         *                      {
         *                              if (alreadyHitObjs[i] == null)
         *                              {
         *                                      alreadyHitObjs[i] = hitObj;
         *                                      hitObj.GetComponent<CharacterCommon>().TakeDamage(minLightningDamage, maxLightningDamage, myOwner);
         *                                      print("Lightning damage");
         *
         *                                      //damage
         *                                      //knockback
         *
         *                                      return;
         *                              }
         *                      }
         *
         *              }
         *      }
         * }
         */
    }