//**********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(); }
//**********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(); }
//**********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(); }
//**********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; }
//**********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; }