private void Start()
 {
     boss           = GetComponentInParent <Boss3>();
     turretRenderer = GetComponent <Renderer>();
     defaultColor   = turretRenderer.material.color;
     hitColor       = new Color(171, 171, 171);
 }
예제 #2
0
 // Update is called once per frame
 void Update()
 {
     jamir = GameObject.Find("Jamir(Clone)");
     if (jamir != null)
     {
         un = jamir.GetComponent <Boss3>();
         if (un.CastingLightning == true)
         {
             if (num > 0)
             {
                 GameObject Lightning = GameObject.Instantiate(JamirLightning);
                 Lightning.transform.position = this.transform.position;
                 num--;
                 num2 = num3;
             }
             if (num <= 0)
             {
                 num2--;
             }
             if (num2 <= 0)
             {
                 num = 1;
             }
         }
     }
 }
예제 #3
0
파일: BossHP.cs 프로젝트: sagagold2/dragon
    private void Awake()
    {
        currentHP = maxHP; //시작시 현채체력과 최대체력을 동일하게 맞춤

        boss  = GetComponent <Boss>();
        boss1 = GetComponent <Boss1>();
        boss2 = GetComponent <Boss2>();
        boss3 = GetComponent <Boss3>();
    }
예제 #4
0
파일: Boss3.cs 프로젝트: timagu/ScriptTest
    void Start()
    {
        //Bossクラスの変数を宣言してインスタンスを代入
        Boss3 lastboss = new Boss3();

        //攻撃用の関数をよびだす
        lastboss.Attack();
        //防御用の関数をよびだす
        lastboss.Defence(3);
    }
예제 #5
0
    protected virtual void Update()
    {
        int remainingHealth = 0;

        for (int i = 0; i < subBosses.Count; ++i)
        {
            Boss3 subBoss = subBosses[i];
            remainingHealth += (subBoss == null || subBoss.IsDead() ? 0 : subBoss.CurrentHealth());
        }

        Game.instance.hud.bossHealth.SetWithValues(0, totalHealth, remainingHealth);
    }
예제 #6
0
    private void FindSubBosses()
    {
        if (subBosses.Count > 0)
        {
            return;
        }

        GameObject[] allEnemiesInScene = GameObject.FindGameObjectsWithTag("Boss3");
        for (int i = 0; i < allEnemiesInScene.Length; ++i)
        {
            Boss3 comp = allEnemiesInScene[i].GetComponentInChildren <Boss3>(true);
            subBosses.Add(comp);
        }

        mIsPrimary = (gameObject == subBosses[0].gameObject);
    }
 private void Start()
 {
     if ((mySpriteRdr = GetComponentInParent<SpriteRenderer> ()) == null) {
      Debug.LogError("No sprite renderer");
      enabled = false;
      return;
       }
       if (transform.parent == null) {
      Debug.LogError("No parent");
      enabled = false;
      return;
       }
       if ((image = GetComponentInParent<Boss3> ()) == null) {
      Debug.LogError("No image");
      enabled = false;
      return;
       }
 }
    IEnumerator SetUpBossFight3()
    {
        MusicManager.bossBattleMusic = true;

        MusicManager.normalBattleMusic = false;

        EnemyHolder.enemyAmount = 0;

        GameObject enemyGO = Instantiate(bosses[2], enemyBattleStations[1]); //Instantiates enemy

        enemyGO.name = "boss" + 1;                                           //Gives it a name and number

        currentEnemies[0] = enemyGO;                                         //Assigns Panama to the first space in the enemy array

        enemyUnit[0] = enemyGO.GetComponent <UnitStats>();                   //Grabs the enemy's stats

        bossUnit[2] = enemyGO.GetComponent <UnitStats>();

        enemyUnit[0].affinity = 1;                                          //Sets Finalsaur's affinity to Soma

        enemyColor[0] = enemyGO.GetComponent <Image>();                     // Grabs the color of the enemy so it can be changed

        enemyHUDs[0].SetHUD(enemyUnit[0]);                                  //Sets the hud with the enemy stats

        enemyLightingEffects[0] = enemyGO.transform.GetChild(0).gameObject; //Assigns the lighting effects from Panama

        #region InitialSetup

        playerUnit  = playerPrefab.GetComponent <UnitStats>();
        playerColor = playerPrefab.GetComponent <Image>();

        playerHUD.SetHUD(playerUnit);

        buttons.SetActive(true);

        boss3Attack = GameObject.FindGameObjectWithTag("EnemyStuff").GetComponent <Boss3>();

        #endregion InitialSetup

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

        state = BattleStateFossil.PLAYERTURN;
        PlayerTurn();
    }
예제 #9
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     boss3 = animator.GetComponent <Boss3>();
     timer = Random.Range(minTime, maxTime);
 }
예제 #10
0
 // Use this for initialization
 void Start()
 {
     body      = GetComponent <Boss3>();
     target    = GameObject.Find("Hero");
     numChosen = false;
 }
예제 #11
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     boss3 = animator.GetComponent <Boss3>();
 }
예제 #12
0
 // Use this for initialization
 void Start()
 {
     un     = GameObject.Find("Jamir(Clone)").GetComponent <Boss3>();
     target = GameObject.Find("Hero");
 }
예제 #13
0
    IEnumerator stage3()
    {
        yield return(new WaitForSeconds(3));

        //Wave 1: X-pattern-shooting fairies. Center shoots burst at player :D
        Enemy fairy1 = Instantiate(a2, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy1.direction = new Vector3(0, -1, 0);
        fairy1.setParameters(1, .05f, 0, .05f, .05f, 1, false, 250);
        fairy1.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy1.shotDelay = 30;
        fairy1.shotTimer = -90;
        fairy1.noForCirc = 4;
        fairy1.offsetVal = 45;
        fairy1.itemDrop  = 1;
        fairy1.bullet    = c3;
        fairy1.silenced  = true;

        Enemy fairy2 = Instantiate(a2, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy2.direction = new Vector3(0, -1, 0);
        fairy2.setParameters(1, .05f, 0, .05f, .05f, 1, false, 250);
        fairy2.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy2.shotDelay = 30;
        fairy2.shotTimer = -90;
        fairy2.noForCirc = 4;
        fairy2.offsetVal = 45;
        fairy2.itemDrop  = 1;
        fairy2.bullet    = c3;
        fairy2.silenced  = true;

        yield return(new WaitForSeconds(1));

        Enemy fairy3 = Instantiate(a2, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy3.direction = new Vector3(0, -1, 0);
        fairy3.setParameters(1, .075f, 0, .075f, .075f, 1, false, 250);
        fairy3.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy3.shotDelay = 30;
        fairy3.shotTimer = -90;
        fairy3.noForCirc = 4;
        fairy3.offsetVal = 45;
        fairy3.itemDrop  = 2;
        fairy3.bullet    = c3;
        fairy3.silenced  = true;

        Enemy fairy4 = Instantiate(a2, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy4.direction = new Vector3(0, -1, 0);
        fairy4.setParameters(1, .075f, 0, .075f, .075f, 1, false, 250);
        fairy4.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy4.shotDelay = 30;
        fairy4.shotTimer = -90;
        fairy4.noForCirc = 4;
        fairy4.offsetVal = 45;
        fairy4.itemDrop  = 2;
        fairy4.bullet    = c3;
        fairy4.silenced  = true;

        yield return(new WaitForSeconds(0.5f));

        Enemy fairy5 = Instantiate(a2, new Vector3(-4, 22, 0), Quaternion.identity);

        fairy5.direction = new Vector3(0, -1, 0);
        fairy5.setParameters(1, .05f, 0, .05f, .05f, 1, false, 500);
        fairy5.setShotParameters(1, .075f, 0, .075f, .075f, 1, false);
        fairy5.indirect  = true;
        fairy5.variance  = 5;
        fairy5.shotDelay = 20;
        fairy5.shotTimer = -40;
        fairy5.itemDrop  = 1;
        fairy5.bullet    = c4;
        GameObject sigil1 = Instantiate(Controller.Instance.sigil, fairy5.transform.position, Quaternion.identity, fairy5.transform);

        sigil1.transform.localScale *= .25f;

        yield return(new WaitForSeconds(0.5f));

        fairy1.velocity = 0;
        fairy2.velocity = 0;

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

        fairy5.velocity = 0;

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

        fairy3.velocity = 0;
        fairy4.velocity = 0;

        yield return(new WaitForSeconds(10));

        fairy1.direction = new Vector3(1, 0, 0);
        fairy2.direction = new Vector3(-1, 0, 0);
        fairy3.direction = new Vector3(1, 0, 0);
        fairy4.direction = new Vector3(-1, 0, 0);
        fairy5.direction = new Vector3(0, 1, 0);
        fairy1.velocity  = .05f;
        fairy2.velocity  = .05f;
        fairy3.velocity  = .05f;
        fairy4.velocity  = .05f;
        fairy5.velocity  = .05f;
        //Wave 2: Repeat of wave 1, except now with trash mobs in the way.

        Enemy fairy6 = Instantiate(a2, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy6.direction = new Vector3(0, -1, 0);
        fairy6.setParameters(1, .05f, 0, .05f, .05f, 1, false, 250);
        fairy6.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy6.shotDelay = 30;
        fairy6.shotTimer = -90;
        fairy6.noForCirc = 4;
        fairy6.offsetVal = 45;
        fairy6.itemDrop  = 1;
        fairy6.bullet    = c3;
        fairy6.silenced  = true;

        Enemy fairy7 = Instantiate(a2, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy7.direction = new Vector3(0, -1, 0);
        fairy7.setParameters(1, .05f, 0, .05f, .05f, 1, false, 250);
        fairy7.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy7.shotDelay = 30;
        fairy7.shotTimer = -90;
        fairy7.noForCirc = 4;
        fairy7.offsetVal = 45;
        fairy7.itemDrop  = 1;
        fairy7.bullet    = c3;
        fairy7.silenced  = true;

        yield return(new WaitForSeconds(1));

        Enemy fairy8 = Instantiate(a2, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy8.direction = new Vector3(0, -1, 0);
        fairy8.setParameters(1, .075f, 0, .075f, .075f, 1, false, 250);
        fairy8.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy8.shotDelay = 30;
        fairy8.shotTimer = -90;
        fairy8.noForCirc = 4;
        fairy8.offsetVal = 45;
        fairy8.itemDrop  = 2;
        fairy8.bullet    = c3;
        fairy8.silenced  = true;

        Enemy fairy9 = Instantiate(a2, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy9.direction = new Vector3(0, -1, 0);
        fairy9.setParameters(1, .075f, 0, .075f, .075f, 1, false, 250);
        fairy9.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy9.shotDelay = 30;
        fairy9.shotTimer = -90;
        fairy9.noForCirc = 4;
        fairy9.offsetVal = 45;
        fairy9.itemDrop  = 2;
        fairy9.bullet    = c3;
        fairy9.silenced  = true;

        yield return(new WaitForSeconds(0.5f));

        Enemy fairy10 = Instantiate(a2, new Vector3(-4, 22, 0), Quaternion.identity);

        fairy10.direction = new Vector3(0, -1, 0);
        fairy10.setParameters(1, .05f, 0, .05f, .05f, 1, false, 500);
        fairy10.setShotParameters(1, .075f, 0, .075f, .075f, 1, false);
        fairy10.indirect  = true;
        fairy10.variance  = 5;
        fairy10.shotDelay = 20;
        fairy10.shotTimer = -40;
        fairy10.itemDrop  = 1;
        fairy10.bullet    = c2;
        GameObject sigil2 = Instantiate(Controller.Instance.sigil, fairy10.transform.position, Quaternion.identity, fairy10.transform);

        sigil2.transform.localScale *= .25f;

        yield return(new WaitForSeconds(0.5f));

        fairy6.velocity = 0;
        fairy7.velocity = 0;

        yield return(new WaitForSeconds(1f));

        fairy8.velocity  = 0;
        fairy9.velocity  = 0;
        fairy10.velocity = 0;

        yield return(new WaitForSeconds(2.25f));

        Enemy fairy11 = Instantiate(a, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy11.direction = new Vector3(0, -1, 0);
        fairy11.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy11.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy11.shotDelay = 60;
        fairy11.shotTimer = -15;
        fairy11.itemDrop  = 2;
        fairy11.bullet    = c1;

        Enemy fairy12 = Instantiate(a, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy12.direction = new Vector3(0, -1, 0);
        fairy12.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy12.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy12.shotDelay = 60;
        fairy12.shotTimer = -15;
        fairy12.itemDrop  = 2;
        fairy12.bullet    = c1;

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

        Enemy fairy13 = Instantiate(a, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy13.direction = new Vector3(0, -1, 0);
        fairy13.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy13.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy13.shotDelay = 60;
        fairy13.shotTimer = -15;
        fairy13.itemDrop  = 1;
        fairy13.bullet    = c1;

        Enemy fairy14 = Instantiate(a, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy14.direction = new Vector3(0, -1, 0);
        fairy14.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy14.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy14.shotDelay = 60;
        fairy14.shotTimer = -15;
        fairy14.itemDrop  = 1;
        fairy14.bullet    = c1;

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

        Enemy fairy15 = Instantiate(a, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy15.direction = new Vector3(0, -1, 0);
        fairy15.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy15.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy15.shotDelay = 60;
        fairy15.shotTimer = -15;
        fairy15.itemDrop  = 2;
        fairy15.bullet    = c1;

        Enemy fairy16 = Instantiate(a, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy16.direction = new Vector3(0, -1, 0);
        fairy16.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy16.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy16.shotDelay = 60;
        fairy16.shotTimer = -15;
        fairy16.itemDrop  = 2;
        fairy16.bullet    = c1;

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

        fairy11.mvtFxn     = 2;
        fairy11.deltaAngle = -3;
        fairy11.moveTimer  = 60;
        fairy12.mvtFxn     = 2;
        fairy12.deltaAngle = 3;
        fairy12.moveTimer  = 60;

        Enemy fairy17 = Instantiate(a, new Vector3(-1, 22, 0), Quaternion.identity);

        fairy17.direction = new Vector3(0, -1, 0);
        fairy17.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy17.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy17.shotDelay = 60;
        fairy17.shotTimer = -15;
        fairy17.itemDrop  = 1;
        fairy17.bullet    = c1;

        Enemy fairy18 = Instantiate(a, new Vector3(-7, 22, 0), Quaternion.identity);

        fairy18.direction = new Vector3(0, -1, 0);
        fairy18.setParameters(1, .05f, 0, .05f, .05f, 1, false, 15);
        fairy18.setShotParameters(1, .1f, 0, .1f, .1f, 1, false);
        fairy18.shotDelay = 60;
        fairy18.shotTimer = -15;
        fairy18.itemDrop  = 1;
        fairy18.bullet    = c1;

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

        fairy13.mvtFxn     = 2;
        fairy13.deltaAngle = -3;
        fairy13.moveTimer  = 60;
        fairy14.mvtFxn     = 2;
        fairy14.deltaAngle = 3;
        fairy14.moveTimer  = 60;

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

        fairy15.mvtFxn     = 2;
        fairy15.deltaAngle = -3;
        fairy15.moveTimer  = 60;
        fairy16.mvtFxn     = 2;
        fairy16.deltaAngle = 3;
        fairy16.moveTimer  = 60;
        yield return(new WaitForSeconds(.5f));

        fairy17.mvtFxn     = 2;
        fairy17.deltaAngle = -3;
        fairy17.moveTimer  = 60;
        fairy18.mvtFxn     = 2;
        fairy18.deltaAngle = 3;
        fairy18.moveTimer  = 60;

        yield return(new WaitForSeconds(5));

        fairy6.direction  = new Vector3(1, 0, 0);
        fairy7.direction  = new Vector3(-1, 0, 0);
        fairy8.direction  = new Vector3(1, 0, 0);
        fairy9.direction  = new Vector3(-1, 0, 0);
        fairy10.direction = new Vector3(0, 1, 0);
        fairy6.velocity   = .05f;
        fairy7.velocity   = .05f;
        fairy8.velocity   = .05f;
        fairy9.velocity   = .05f;
        fairy10.velocity  = .05f;

        yield return(new WaitForSeconds(3));

        //Wave 3: Two X-shot fairies and a pair of burst streams.
        Enemy fairy19 = Instantiate(a, new Vector3(0, 22, 0), Quaternion.identity);

        fairy19.direction = new Vector3(0, -1, 0);
        fairy19.setParameters(1, .05f, 0, .05f, .05f, 1, false, 250);
        fairy19.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy19.transform.localScale *= 1.5f;
        fairy19.shotDelay             = 20;
        fairy19.shotTimer             = -90;
        fairy19.noForCirc             = 4;
        fairy19.offsetVal             = 45;
        fairy19.offsetInc             = -12;
        fairy19.itemDrop              = 1;
        fairy19.bullet = c;
        GameObject sigil3 = Instantiate(Controller.Instance.sigil, fairy19.transform.position, Quaternion.identity, fairy19.transform);

        sigil3.transform.localScale *= .25f;

        Enemy fairy20 = Instantiate(a, new Vector3(-8, 22, 0), Quaternion.identity);

        fairy20.direction = new Vector3(0, -1, 0);
        fairy20.setParameters(1, .05f, 0, .05f, .05f, 1, false, 250);
        fairy20.setShotParameters(3, .075f, 0, .075f, .075f, 1, false);
        fairy20.transform.localScale *= 1.5f;
        fairy20.shotDelay             = 20;
        fairy20.shotTimer             = -90;
        fairy20.noForCirc             = 4;
        fairy20.offsetVal             = 45;
        fairy20.offsetInc             = 12;
        fairy20.itemDrop              = 1;
        fairy20.bullet = c;
        GameObject sigil4 = Instantiate(Controller.Instance.sigil, fairy20.transform.position, Quaternion.identity, fairy20.transform);

        sigil4.transform.localScale *= .25f;

        Enemy fairy21 = Instantiate(a, new Vector3(-3, 22, 0), Quaternion.identity);

        fairy21.direction = new Vector3(0, -1, 0);
        fairy21.setParameters(1, .05f, 0, .05f, .05f, 1, false, 300);
        fairy21.setShotParameters(1, .075f, 0, .075f, .075f, 1, false);
        fairy21.shotDelay = 60;
        fairy21.shotTimer = -40;
        fairy21.itemDrop  = 3;
        fairy21.bullet    = c4;
        GameObject sigil5 = Instantiate(Controller.Instance.sigil, fairy21.transform.position, Quaternion.identity, fairy21.transform);

        sigil5.transform.localScale *= .25f;

        Enemy fairy22 = Instantiate(a, new Vector3(-5, 22, 0), Quaternion.identity);

        fairy22.direction = new Vector3(0, -1, 0);
        fairy22.setParameters(1, .05f, 0, .05f, .05f, 1, false, 300);
        fairy22.setShotParameters(1, .075f, 0, .075f, .075f, 1, false);
        fairy22.shotDelay = 60;
        fairy22.shotTimer = -40;
        fairy22.itemDrop  = 3;
        fairy22.bullet    = c4;
        GameObject sigil6 = Instantiate(Controller.Instance.sigil, fairy22.transform.position, Quaternion.identity, fairy22.transform);

        sigil6.transform.localScale *= .25f;

        yield return(new WaitForSeconds(1.5f));

        fairy19.velocity = 0;
        fairy20.velocity = 0;
        fairy21.velocity = 0;
        fairy22.velocity = 0;

        yield return(new WaitForSeconds(10));

        fairy19.direction = GlobalFxns.ToVect(-45);
        fairy20.direction = GlobalFxns.ToVect(-135);
        fairy21.direction = GlobalFxns.ToVect(-45);
        fairy22.direction = GlobalFxns.ToVect(-135);

        fairy19.velocity = .05f;
        fairy20.velocity = .05f;
        fairy21.velocity = .05f;
        fairy22.velocity = .05f;

        yield return(new WaitForSeconds(5));

        //Wave 4: Wisps that pop up every few secs or so. Yuugi-style lasers.
        Enemy wisp1 = Instantiate(a1, new Vector3(.75f, 22, 0), Quaternion.identity);

        wisp1.setParameters(1, .05f, 0, .05f, .05f, 1, false, 100);
        wisp1.setShotParameters(10, .075f, 0, .075f, .075f, 1, false);
        wisp1.direction = new Vector3(0, -1, 0);
        wisp1.offsetInc = 15;
        wisp1.shotDelay = 10;
        wisp1.shotTimer = -110;
        wisp1.itemDrop  = 1;

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

        Enemy wisp2 = Instantiate(a1, new Vector3(-6.75f, 22, 0), Quaternion.identity);

        wisp2.setParameters(1, .05f, 0, .05f, .05f, 1, false, 100);
        wisp2.setShotParameters(10, .075f, 0, .075f, .075f, 1, false);
        wisp2.direction = new Vector3(0, -1, 0);
        wisp2.offsetInc = 15;
        wisp2.shotDelay = 10;
        wisp2.shotTimer = -110;
        wisp2.itemDrop  = 1;

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

        Enemy wisp3 = Instantiate(a1, new Vector3(-1.5f, 22, 0), Quaternion.identity);

        wisp3.setParameters(1, .05f, 0, .05f, .05f, 1, false, 100);
        wisp3.setShotParameters(10, .075f, 0, .075f, .075f, 1, false);
        wisp3.direction = new Vector3(0, -1, 0);
        wisp3.offsetInc = 15;
        wisp3.shotDelay = 10;
        wisp3.shotTimer = -110;
        wisp3.itemDrop  = 2;


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

        Enemy wisp4 = Instantiate(a1, new Vector3(-7.25f, 22, 0), Quaternion.identity);

        wisp4.setParameters(1, .05f, 0, .05f, .05f, 1, false, 100);
        wisp4.setShotParameters(10, .075f, 0, .075f, .075f, 1, false);
        wisp4.direction = new Vector3(0, -1, 0);
        wisp4.offsetInc = 15;
        wisp4.shotDelay = 10;
        wisp4.shotTimer = -110;
        wisp4.itemDrop  = 2;

        wisp1.velocity = 0;

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

        wisp2.velocity = 0;

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

        wisp3.velocity = 0;

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

        wisp4.velocity = 0;

        yield return(new WaitForSeconds(3));

        wisp1.direction = GlobalFxns.ToVect(-60);
        wisp1.velocity  = .025f;

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

        wisp2.direction = GlobalFxns.ToVect(-120);
        wisp2.velocity  = .025f;

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

        wisp3.direction = GlobalFxns.ToVect(-60);
        wisp3.velocity  = .025f;

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

        wisp4.direction = GlobalFxns.ToVect(-120);
        wisp4.velocity  = .025f;

        yield return(new WaitForSeconds(3));

        //Wave 5: More Yuugi wisps. Add 4 that aim at player.
        //Wave 6: Death fairy. Would be a midboss, but screw it, outta time.
        Enemy deathFairy = Instantiate(a2, new Vector3(-4, 22, 0), Quaternion.identity);

        deathFairy.setParameters(1, .05f, 0, .05f, .05f, 1, false, 1250);
        deathFairy.direction = new Vector3(0, -1, 0);
        deathFairy.bullet    = deathFairy.bullet2;
        GameObject sigil7 = Instantiate(Controller.Instance.sigil, deathFairy.transform.position, Quaternion.identity, deathFairy.transform);

        sigil7.transform.localScale *= .25f;

        yield return(new WaitForSeconds(2));

        deathFairy.velocity = 0;
        deathFairy.setShotParameters(9, .05f, 0, .05f, .05f, 1, false);
        deathFairy.shotDelay = 2;
        deathFairy.itemDrop  = 4;

        //Boss time~
        yield return(new WaitForSeconds(25));

        Controller.Instance.clearScreen = true;

        yield return(new WaitForSeconds(2));

        Controller.Instance.clearScreen = false;

        yield return(new WaitForSeconds(3));

        //Spawn Boss
        Boss3 boss = Instantiate(b, new Vector3(-4, 22, 0), Quaternion.identity);
    }