Пример #1
0
    // Update is called once per frame
    void FixedUpdate()
    {
        phaseTwoRandomizer = Random.Range(0, 2);

        if (phaseTwoCounter <= 0)
        {
            if (!StartedRaining)
            {
                Wendigo.anim.SetInteger("State", 6);
                StartCoroutine(waitRoarBloodAnim(1f));
                phaseTwoCounter = 1.5f;
            }
            StartedRaining = true;
        }
        RainBloodCounter -= Time.deltaTime;


        if (StartedRaining && RainBloodCounter <= 0)
        {
            rain.RainOneLayerOfBlood();
            RainBloodCounter = 1.85f;       //ORIGINALLY 1.25F
        }

        if (phaseTwoActivated)
        {
            phaseTwoCounter -= Time.deltaTime;
        }

        if (phaseTwoRandomizer == 0 && phaseTwoCounter <= 0 && StartedRaining && !Wendigo.isJumping && hasJumpedTwice <= 0) // && isRoaring
        {
            isSpitting = true;
        }
        //else if (phaseTwoRandomizer == 1 && phaseTwoCounter <= 0 && !isSpitting && StartedRaining && !Wendigo.isJumping)
        //{
        //isRoaring = true;
        //}
        else if (phaseTwoRandomizer == 1 && phaseTwoCounter <= 0 && !isSpitting && StartedRaining)
        {
            Wendigo.isJumping       = true;
            Wendigo.phaseOneCounter = 0;
            phaseTwoCounter         = 2.8f;
        }
        if (Wendigo.jumpFinished)
        {
            hasJumpedTwice--;
            Debug.Log(hasJumpedTwice);
            Debug.Log("HAUH");
            if (hasJumpedTwice == 0)
            {
                hasSpitOnce = false;
            }
        }


        if (isSpitting) //if (phaseTwoCounter <= 0)//
        {
            if (hasSpitOnce)
            {
                StartCoroutine(waitForBone(1.25f));
                if (hasWaited)
                {
                    ThrowUpBone();
                    phaseTwoCounter = 2.5f;
                    isSpitting      = false;
                    hasJumpedTwice  = 2;
                    hasSpitOnce     = false;
                    hasWaited       = false;
                    Wendigo.anim.SetInteger("State", 0);
                    Debug.Log(hasWaited);
                }
            }
            else if (!hasSpitOnce)
            {
                Wendigo.anim.SetInteger("State", 6);
                ThrowUpBone();
                hasSpitOnce = true;
            }
            //StartCoroutine(waitForBone(0.5f));
            //if(hasSpitOnce)
            //{
            //phaseTwoCounter = 2.5f;
            //isSpitting = false;
            //hasJumpedTwice = 2;
            //}
            //hasSpitOnce = true;
        }
        if (false)//if (isRoaring)
        {
            if (pushBackTimer > 0)
            {
                isPushingBack = true;
                PBR.Roar();
            }
            else
            {
                PBR.playerIsIdle = true;
                isRoaring        = false;
                pushBackTimer    = 10f;
                isPushingBack    = false;
                phaseTwoCounter  = 2f;
            }
        }

        //BeginPhaseTwo -= Time.deltaTime;
        //if(BeginPhaseTwo <= 0)
        //{
        //   if (EHM.enemyHealth <= Wendigo.EnterPhaseTwoHP && EHM.enemyHealth > Wendigo.EnterPhaseThreeHP)
        //  {
        //     phaseTwoActivated = true;
        // }
        // else if (EHM.enemyHealth <= Wendigo.EnterPhaseThreeHP)
        // {
        //     phaseTwoActivated = false;
        // }
        //}
        if (EHM.enemyHealth <= Wendigo.EnterPhaseTwoHP && EHM.enemyHealth > Wendigo.EnterPhaseThreeHP)
        {
            BeginPhaseTwo -= Time.deltaTime;
            if (BeginPhaseTwo <= 0)
            {
                phaseTwoActivated = true;
            }
        }
        else if (EHM.enemyHealth <= Wendigo.EnterPhaseThreeHP)
        {
            phaseTwoActivated = false;
        }
    }
Пример #2
0
    // 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;
            }
        }
    }