void ThrowUpBone() { bone.Play(); vomit.Play(); if (Wendigo.facingLeft && Wendigo.transform.position.x < -5 || !Wendigo.facingLeft && Wendigo.transform.position.x > 5) { Wendigo.Flip(); Wendigo.facingLeft = !Wendigo.facingLeft; } if (Wendigo.facingLeft && Wendigo.transform.position.x > 0) { distanceToShoot = -(Wendigo.transform.position.x + 9f); } else if (Wendigo.facingLeft && Wendigo.transform.position.x <= 0) { distanceToShoot = Mathf.Abs(Wendigo.transform.position.x) - 9f; } else if (!Wendigo.facingLeft && Wendigo.transform.position.x > 0) { distanceToShoot = 9f - Wendigo.transform.position.x; } else if (!Wendigo.facingLeft && Wendigo.transform.position.x < 0) { distanceToShoot = Mathf.Abs(Wendigo.transform.position.x) + 9f; } //////////////// /////////////// if (Mathf.Abs(distanceToShoot) < 5) { if (distanceToShoot < 0) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot + 0.5f)); } else if (distanceToShoot > 0) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot - 0.5f)); } } else if (Mathf.Abs(distanceToShoot) < 9 && Mathf.Abs(distanceToShoot) > 5) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot)); } else if (Mathf.Abs(distanceToShoot) > 9 && Mathf.Abs(distanceToShoot) < 15) { if (distanceToShoot < 0) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot + 1.25f)); } else if (distanceToShoot > 0) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot - 1.25f)); } } else if (Mathf.Abs(distanceToShoot) > 15 && Mathf.Abs(distanceToShoot) < 25) { if (distanceToShoot < 0) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot + 2.5f)); } else if (distanceToShoot > 0) { Phase2BoneProj.changeSpeedX(Random.Range(0f, distanceToShoot - 2.5f)); } } Instantiate(boneProj, boneProjPos.position, Quaternion.identity); }
// Update is called once per frame void FixedUpdate() { phaseThreeRandomizer = Random.Range(0, 2); if (EHM.enemyHealth <= Wendigo.EnterPhaseThreeHP) { BeginPhaseThree -= Time.deltaTime; if (BeginPhaseThree <= 0) { phaseThreeActivated = true; } } if (phaseThreeActivated == true) { phaseThreeCounter -= Time.deltaTime; } if (phaseThreeCounter <= 0 && !BoomerangIsOut) { if (transform.position.x < 0.65 && Wendigo.facingLeft && !hasFlipped) { Wendigo.Flip(); Wendigo.facingLeft = !Wendigo.facingLeft; hasFlipped = true; } else if (transform.position.x > 0.65 && !Wendigo.facingLeft && !hasFlipped) { Wendigo.Flip(); Wendigo.facingLeft = !Wendigo.facingLeft; hasFlipped = true; } if (Wendigo.facingLeft) { Wendigo.anim.SetInteger("State", 1); if (transform.position.x > 0.65) { transform.position = new Vector3(transform.position.x - 0.05f, transform.position.y, transform.position.z); } if (transform.position.x <= 0.65) { Wendigo.Flip(); Wendigo.facingLeft = !Wendigo.facingLeft; Wendigo.anim.SetInteger("State", 6); boomerangTimer -= Time.deltaTime; if (boomerangTimer <= 0) { roar.Play(); // Sound ThrowBoomerang(); BoomerangIsOut = true; phaseThreeCounter = 3f; StartCoroutine(waitRoarBloodAnim(1.6f)); } } } else if (!Wendigo.facingLeft) { Wendigo.anim.SetInteger("State", 1); if (transform.position.x < 0.65) { transform.position = new Vector3(transform.position.x + 0.05f, transform.position.y, transform.position.z); } if (transform.position.x >= 0.65) { Wendigo.anim.SetInteger("State", 6); boomerangTimer -= Time.deltaTime; if (boomerangTimer <= 0) { ThrowBoomerang(); BoomerangIsOut = true; phaseThreeCounter = 3f; StartCoroutine(waitRoarBloodAnim(1.6f)); } } } } else if (phaseThreeRandomizer == 0 && !Wendigo.isJumping && phaseThreeCounter <= 0 && RoarCounter < 2) { if (pushBackTimer > 0) { if (once) { longRoar.Play(); // Sound once = false; } Wendigo.anim.SetInteger("State", 6); isRoaring = true; isPushingBack = true; PBR.Roar(); pushBackTimer -= Time.deltaTime; } else { longRoar.Stop(); once = true; Wendigo.anim.SetInteger("State", 0); RoarCounter++; PBR.playerIsIdle = true; isRoaring = false; pushBackTimer = 5.5f; isPushingBack = false; phaseThreeCounter = 2.5f; } } else if (phaseThreeRandomizer == 1 && !isRoaring && phaseThreeCounter <= 0) { Wendigo.isJumping = true; Wendigo.phaseOneCounter = 0; phaseThreeCounter = 3f; if (RoarCounter >= 2) { RoarCounter = 0; } } }