public IEnumerator AttackPlayer() { BatController bat = player.GetComponent <BatController>(); bossAnim.SetTrigger("pGrab"); yield return(new WaitForSeconds(0.75f)); if (isGrabbable && bat.canGetHit) { if (Vector3.Distance(bat.transform.position, spiderSecondCheckTriggerRight.position) < Vector3.Distance(bat.transform.position, spiderSecondCheckTriggerLeft.position)) { grabbedPlayedRight = true; } else { grabbedPlayedLeft = true; } audioSource.clip = spiderSounds[Random.Range(0, spiderSounds.Count)]; audioSource.Play(); bossAnim.SetTrigger("pPlayerCaught"); bossAnim.SetBool("bEat", true); bat.GetComponent <Rigidbody2D>().simulated = false; } else { yield break; } yield return(new WaitForSeconds(3.5f)); audioSource.clip = spiderSounds[Random.Range(0, spiderSounds.Count)]; audioSource.Play(); GameManager.instance.SubtractLive(); Camera.main.transform.GetComponent <CameraShake>().Shake(shakeDuration, shakeX, shakeY, shakeZ, shakeRotate, shakeSpeed); StartCoroutine(bat.HitInvinsibility(2)); yield return(new WaitForSeconds(1f)); grabbedPlayedRight = false; grabbedPlayedLeft = false; bossAnim.SetBool("bEat", false); bat.GetComponent <Rigidbody2D>().simulated = true; if (isInEatRange) { StartCoroutine(AttackPlayer()); } }