//**********Action Coroutines*********\\

    public IEnumerator Headbutt()
    {
        if (ActionController.currentEnemy.Equals("frontGoblin"))
        {
            MoveToFrontGoblin();
            yield return(new WaitForSeconds(1.5f));
        }
        else if (ActionController.currentEnemy.Equals("bevSr"))
        {
            MoveToBevSr();
            SortingControl.ChangeGroupLayer("BetweenBevandFront", bodySpriteRenderers);
            yield return(new WaitForSeconds(1.5f));
        }
        else if (ActionController.currentEnemy.Equals("backGoblin"))
        {
            MoveToBackGoblin();
            yield return(new WaitForSeconds(2f));
        }


        alanisAnim.SetBool("HeadButtState", true);
        yield return(new WaitForSeconds(1f));

        alanisAnim.SetBool("HeadButtState", false);
        GameObject.Find("BattleAudioManager").GetComponent <AudioControl>().Play("headButt");

        EnemyHealthControl.TakeDamage(6, ActionController.currentEnemy);

        MoveToSpawnPosition();
        yield return(new WaitForSeconds(2));

        SortingControl.ChangeGroupLayer("Alanis", bodySpriteRenderers);
        ActionController.CheckRoundEnd();
    }
示例#2
0
    //**********Action Coroutines**************\\

    public IEnumerator Thunderclap()
    {
        if (ActionController.currentEnemy.Equals("frontGoblin"))
        {
            thunderTailTrans.localPosition    = new Vector3(47, -20, 0);
            thunderTailTrans.localEulerAngles = new Vector3(0, 0, 65);
            thunderTailTrans.localScale       = new Vector3(37, 70, 1);

            SortingControl.ChangeGroupLayer("FrontofEnemies", thunderSprites);
            thunderOrbTrans.localPosition = new Vector3(90, -27, 0);
            thunderOrbTrans.localScale    = new Vector3(70, 70, 1);
        }
        else if (ActionController.currentEnemy.Equals("bevSr"))
        {
            thunderTailTrans.localPosition    = new Vector3(65, -2, 0);
            thunderTailTrans.localEulerAngles = new Vector3(0, 0, 87);
            thunderTailTrans.localScale       = new Vector3(35, 87, 1);

            SortingControl.ChangeGroupLayer("BetweenBevandFront", thunderSprites);
            thunderOrbTrans.localPosition = new Vector3(121, 4, 0);
            thunderOrbTrans.localScale    = new Vector3(55, 60, 1);
        }
        else if (ActionController.currentEnemy.Equals("backGoblin"))
        {
            thunderTailTrans.localPosition    = new Vector3(38, -5, 0);
            thunderTailTrans.localEulerAngles = new Vector3(0, 0, 80);
            thunderTailTrans.localScale       = new Vector3(27, 52, 1);

            SortingControl.ChangeGroupLayer("BetweenBackandBev", thunderSprites);
            thunderOrbTrans.localPosition = new Vector3(73, -4, 0);
            thunderOrbTrans.localScale    = new Vector3(50, 50, 1);
        }

        hardwonAnim.SetBool("ThunderclapState", true);

        yield return(new WaitForSeconds(1.2f));//wait for hammer punch

        thunderTailSprites.enabled = true;
        thunderOrbSprites.enabled  = true;
        thunderAnim.SetBool("ThunderclapState", true);

        yield return(new WaitForSeconds(.5f));

        GameObject.Find("BattleAudioManager").GetComponent <AudioControl>().Play("thunderClap");

        yield return(new WaitForSeconds(1));//wait for lightning end

        thunderAnim.SetBool("ThunderclapState", false);
        thunderTailSprites.enabled = false;
        thunderOrbSprites.enabled  = false;

        EnemyHealthControl.TakeDamage(thunderDamage, ActionController.currentEnemy);

        yield return(new WaitForSeconds(.5f));//wait for arm return

        hardwonAnim.SetBool("ThunderclapState", false);
        ActionController.CheckRoundEnd();
    }
示例#3
0
    //**********Action Coroutines*********\\

    public IEnumerator HammerJab()
    {
        if (ActionController.currentEnemy.Equals("frontGoblin"))
        {
            SortingControl.ChangeGroupLayer("FrontofEnemies", bodySpriteRenderers);
            SortingControl.ChangeLayer("BetweenBevandFront", torsoSprite);
            MoveToFrontGoblin();
            yield return(new WaitForSeconds(2f));
        }
        else if (ActionController.currentEnemy.Equals("bevSr"))
        {
            SortingControl.ChangeGroupLayer("BetweenBevandFront", bodySpriteRenderers);
            SortingControl.ChangeLayer("BetweenBackandBev", torsoSprite);
            MoveToBevSr();
            yield return(new WaitForSeconds(2f));
        }
        else if (ActionController.currentEnemy.Equals("backGoblin"))
        {
            MoveToBackGoblin();
            SortingControl.ChangeGroupLayer("BetweenBackandBev", bodySpriteRenderers);
            SortingControl.ChangeLayer("BehindEnemies", torsoSprite);
            yield return(new WaitForSeconds(1.5f));
        }

        hardwonAnim.SetBool("JabState", true);
        yield return(new WaitForSeconds((float)1.25));

        hardwonAnim.SetBool("JabState", false);
        GameObject.Find("BattleAudioManager").GetComponent <AudioControl>().Play("hammerJab");

        EnemyHealthControl.TakeDamage(meleeDamage, ActionController.currentEnemy);//starts off at 6, boosted by spirit to 9

        MoveToSpawnPosition();
        yield return(new WaitForSeconds(2));

        SortingControl.ChangeGroupLayer("Hardwon", bodySpriteRenderers);
        ActionController.CheckRoundEnd();
    }
示例#4
0
    //**********Action Coroutines*********\\

    public IEnumerator SwordSlash()
    {
        bool takeAuraDamage = false;

        if (EnemyActionController.currentTarget.Equals("mavrus"))
        {
            MoveToMavrus();
            yield return(new WaitForSeconds(0.7f));

            if (FirewallControl.fireWallActive)
            {
                FirewallControl.ActivateFirewall();
                EnemyHealthControl.TakeDamage(20, EnemyActionController.currentEnemy);
            }
            SortingControl.ChangeGroupLayer("BehindPlayers", bodySpriteRenderers);
            SortingControl.ChangeLayer("BetweenMavandHard", armSprite);
            yield return(new WaitForSeconds(1.8f));
        }
        else if (EnemyActionController.currentTarget.Equals("hardwon"))
        {
            if (AuraControl.auraActive)
            {
                takeAuraDamage = true;
            }

            MoveToHardwon();
            yield return(new WaitForSeconds(0.7f));

            if (FirewallControl.fireWallActive)
            {
                FirewallControl.ActivateFirewall();
                EnemyHealthControl.TakeDamage(20, EnemyActionController.currentEnemy);
            }
            SortingControl.ChangeGroupLayer("BetweenMavandHard", bodySpriteRenderers);
            SortingControl.ChangeLayer("BetweenHardandAlan", armSprite);
            yield return(new WaitForSeconds(0.8f));
        }
        else if (EnemyActionController.currentTarget.Equals("alanis"))
        {
            MoveToAlanis();
            yield return(new WaitForSeconds(0.7f));

            if (FirewallControl.fireWallActive)
            {
                FirewallControl.ActivateFirewall();
                EnemyHealthControl.TakeDamage(18, EnemyActionController.currentEnemy);
            }
            SortingControl.ChangeGroupLayer("BetweenHardandAlan", bodySpriteRenderers);
            SortingControl.ChangeLayer("FrontofPlayers", armSprite);
            yield return(new WaitForSeconds(1.3f));
        }


        bevSrAnim.SetBool("SwordSlashState", true); //total length of 150/60
        yield return(new WaitForSeconds(1.5f));     //end of stab at 85/60

        GameObject.Find("BattleAudioManager").GetComponent <AudioControl>().Play("swordSlash");

        PlayerHealthController.TakeDamage(12, EnemyActionController.currentTarget);
        if (takeAuraDamage)
        {
            EnemyHealthControl.TakeDamage(7, EnemyActionController.currentEnemy);
        }

        if (EnemyHealthControl.activeEnemies.Contains(EnemyActionController.currentEnemy))//wasn't killed by aura
        {
            MoveToSpawnPosition();

            yield return(new WaitForSeconds(.7f));

            SortingControl.ChangeGroupLayer("BevSr", bodySpriteRenderers);

            yield return(new WaitForSeconds(.3f));//end of slash

            bevSrAnim.SetBool("SwordSlashState", false);

            yield return(new WaitForSeconds(1));//end of move to spawn
        }

        EnemyTurnTaker.turnTaken = true;
    }
示例#5
0
    //**********Action Coroutines*********\\

    public IEnumerator GoblinClaw()
    {
        bool takeAuraDamage = false;

        if (EnemyActionController.currentTarget.Equals("mavrus"))
        {
            MoveToMavrus();
            if (EnemyActionController.currentEnemy.Equals("backGoblin"))
            {
                SortingControl.ChangeGroupLayer("BetweenMavandHard", bodySpriteRenderers);
            }
            if (EnemyActionController.currentEnemy.Equals("frontGoblin"))
            {
                SortingControl.ChangeGroupLayer("BetweenHardandAlan", bodySpriteRenderers);
            }
            yield return(new WaitForSeconds(0.7f));

            if (FirewallControl.fireWallActive)
            {
                FirewallControl.ActivateFirewall();
                EnemyHealthControl.TakeDamage(20, EnemyActionController.currentEnemy);
            }
            yield return(new WaitForSeconds(1.8f));
        }
        else if (EnemyActionController.currentTarget.Equals("hardwon"))
        {
            if (AuraControl.auraActive)
            {
                takeAuraDamage = true;
            }

            MoveToHardwon();
            yield return(new WaitForSeconds(0.7f));

            if (FirewallControl.fireWallActive)
            {
                FirewallControl.ActivateFirewall();
                EnemyHealthControl.TakeDamage(18, EnemyActionController.currentEnemy);
            }
            yield return(new WaitForSeconds(1.3f));
        }
        else if (EnemyActionController.currentTarget.Equals("alanis"))
        {
            MoveToAlanis();
            yield return(new WaitForSeconds(0.7f));

            if (FirewallControl.fireWallActive)
            {
                FirewallControl.ActivateFirewall();
                EnemyHealthControl.TakeDamage(20, EnemyActionController.currentEnemy);
            }
            yield return(new WaitForSeconds(1.3f));
        }


        goblinAnim.SetBool("GoblinClawState", true);
        yield return(new WaitForSeconds(1f));

        GameObject.Find("BattleAudioManager").GetComponent <AudioControl>().Play("goblinClaw");
        yield return(new WaitForSeconds(.5f));

        goblinAnim.SetBool("GoblinClawState", false);

        PlayerHealthController.TakeDamage(5, EnemyActionController.currentTarget);
        if (takeAuraDamage)
        {
            EnemyHealthControl.TakeDamage(7, EnemyActionController.currentEnemy);
        }

        if (EnemyHealthControl.activeEnemies.Contains(EnemyActionController.currentEnemy))//weren't killed by aura
        {
            MoveToSpawnPosition();
            yield return(new WaitForSeconds(1));

            if (EnemyActionController.currentEnemy.Equals("backGoblin"))
            {
                SortingControl.ChangeGroupLayer("BackGoblin", bodySpriteRenderers);
            }
            if (EnemyActionController.currentEnemy.Equals("frontGoblin"))
            {
                SortingControl.ChangeGroupLayer("FrontGoblin", bodySpriteRenderers);
            }
            yield return(new WaitForSeconds(1));
        }
        EnemyTurnTaker.turnTaken = true;
    }