예제 #1
0
    public void addFragment()
    {
        if (currentTier < 2 && upgradeBeam)
        {
            currentFragments++;
            if (currentFragments >= fragmentsPerTier[currentTier])
            {
                currentTier++;
                weaponTemplate.up       = upgradeSprites[currentTier];
                weaponTemplate.upleft   = upgradeSprites[currentTier];
                weaponTemplate.left     = upgradeSprites[currentTier];
                weaponTemplate.downleft = upgradeSprites[currentTier];
                weaponTemplate.down     = upgradeSprites[currentTier];
                if (currentTier == 1)
                {
                    weaponTemplate.coolDownIcon = tier2Upgrade;
                }
                else
                {
                    weaponTemplate.coolDownIcon = tier3Upgrade;
                }
                currentFragments = 0;
                weaponScript.setTemplate();
            }

            if (currentTier < 2)
            {
                weaponScript.weaponNumberText.text = currentFragments.ToString() + "/" + fragmentsPerTier[currentTier].ToString();
            }
        }
    }
예제 #2
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.sniperUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.sniperUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (extremeFocus)
        {
            if (weaponScript.numberShots == numberShotsThreshold - 1)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = extremeFocusIcon;
            }

            if (weaponScript.numberShots >= numberShotsThreshold)
            {
                weaponScript.numberShots       = 0;
                weaponScript.weaponPlume       = regularPlume;
                weaponScript.weaponIcon.sprite = regularSniperIcon;
            }
        }

        if (highVelocityBullets)
        {
            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume = empoweredWeaponFlare;
            }
        }
    }
예제 #3
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.spreadshotUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.spreadshotUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (sprayShot)
        {
            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = sprayShotIcon;
            }
        }

        if (concentratedShot)
        {
            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = concentratedShotIcon;
            }

            if (numberPrevShots != weaponScript.numberShots)
            {
                numberPrevShots              = weaponScript.numberShots;
                weaponScript.coolDownPeriod -= coolDownReduction;
            }
        }
    }
예제 #4
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.musketUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.musketUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (precisionShot || scatterShot)
        {
            if (weaponScript.numberShots == numberShotsThreshold - 1)
            {
                weaponScript.weaponPlume = empoweredWeaponFlare;
                if (scatterShot)
                {
                    weaponScript.weaponIcon.sprite = scatterShotIcon;
                }
                else
                {
                    weaponScript.weaponIcon.sprite = precisionShotIcon;
                }
            }

            if (weaponScript.numberShots >= numberShotsThreshold)
            {
                weaponScript.numberShots       = 0;
                weaponScript.weaponPlume       = regularweaponPlume;
                weaponScript.weaponIcon.sprite = regularMusketIcon;
            }
        }
    }
예제 #5
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.dragonBreathUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.dragonBreathUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (blueFire || longerFlames)
        {
            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume = empoweredWeaponFlare;
                if (blueFire)
                {
                    weaponScript.weaponIcon.sprite = longerFlamesIcon;
                }
                else
                {
                    weaponScript.weaponIcon.sprite = blueFireIcon;
                }
            }
        }
    }
예제 #6
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.cannonUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.cannonUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (momentumBlastUnlocked)
        {
            if (weaponScript.whichSide == 2)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = momentumBlastIcon;
            }
            else if (weaponScript.whichSide == 3)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = momentumBlastIcon;
            }
        }

        if (synchroFiring)
        {
            if (weaponScript.whichSide == 1)
            {
                if (weaponScript.mouseHovering && Input.GetMouseButtonDown(0))
                {
                    if (prevNumShots != weaponScript.numberShots)
                    {
                        weaponScript.numberShots = 0;
                        prevNumShots             = 0;
                        if (leftWeapon.GetComponent <ShipWeaponScript>().onCooldown == false && leftWeapon.GetComponent <ShipWeaponScript>().shipWeaponTemplate.name ==
                            "Cannon Weapon Template")
                        {
                            leftWeapon.GetComponent <ShipWeaponScript>().forceFire();
                            leftWeapon.GetComponent <ShipWeaponScript>().coolDownPeriod -= cycleReduction;
                        }

                        if (rightWeapon.GetComponent <ShipWeaponScript>().onCooldown == false && rightWeapon.GetComponent <ShipWeaponScript>().shipWeaponTemplate.name ==
                            "Cannon Weapon Template")
                        {
                            rightWeapon.GetComponent <ShipWeaponScript>().forceFire();
                            rightWeapon.GetComponent <ShipWeaponScript>().coolDownPeriod -= cycleReduction;
                        }
                        weaponScript.coolDownPeriod -= cycleReduction;
                    }
                }
            }

            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = redHotIcon;
            }
        }
    }
예제 #7
0
 void Update()
 {
     if (prevNumberUpgrades != PlayerUpgrades.glaiveLauncherUpgrades.Count)
     {
         prevNumberUpgrades = PlayerUpgrades.glaiveLauncherUpgrades.Count;
         applyUpgrades();
         weaponScript.setTemplate();
     }
 }
예제 #8
0
 void Update()
 {
     if (prevNumberUpgrades != PlayerUpgrades.chemicalSprayerUpgrades.Count)
     {
         prevNumberUpgrades = PlayerUpgrades.chemicalSprayerUpgrades.Count;
         applyUpgrades();
         weaponScript.setTemplate();
     }
 }
예제 #9
0
 void Update()
 {
     if (prevNumberUpgrades != PlayerUpgrades.podFlyersUpgrades.Count)
     {
         prevNumberUpgrades = PlayerUpgrades.podFlyersUpgrades.Count;
         applyUpgrades();
         weaponScript.setTemplate();
     }
 }
예제 #10
0
 void Start()
 {
     prevNumberUpgrades = PlayerUpgrades.dragonBreathUpgrades.Count;
     weaponScript       = this.GetComponent <ShipWeaponTemplate>().shipWeaponEquipped.GetComponent <ShipWeaponScript>();
     weaponTemplate     = GetComponent <ShipWeaponTemplate>();
     origCoolDownTime   = weaponTemplate.coolDownTime;
     applyUpgrades();
     weaponScript.setTemplate();
 }
예제 #11
0
 void Start()
 {
     prevNumberUpgrades = PlayerUpgrades.polluxShrineUpgrades.Count;
     weaponScript       = this.GetComponent <ShipWeaponTemplate>().shipWeaponEquipped.GetComponent <ShipWeaponScript>();
     weaponTemplate     = GetComponent <ShipWeaponTemplate>();
     origCoolDownTime   = weaponTemplate.coolDownTime;
     applyUpgrades();
     weaponScriptRenderer = weaponScript.gameObject.GetComponent <SpriteRenderer>();
     weaponScript.setTemplate();
 }
예제 #12
0
 void Start()
 {
     prevNumberUpgrades = PlayerUpgrades.cannonUpgrades.Count;
     weaponScript       = this.GetComponent <ShipWeaponTemplate>().shipWeaponEquipped.GetComponent <ShipWeaponScript>();
     weaponTemplate     = GetComponent <ShipWeaponTemplate>();
     leftWeapon         = GameObject.Find("PlayerShip").GetComponent <ShipStats>().leftWeapon;
     rightWeapon        = GameObject.Find("PlayerShip").GetComponent <ShipStats>().rightWeapon;
     origCoolDownTime   = weaponTemplate.coolDownTime;
     applyUpgrades();
     weaponScript.setTemplate();
 }
예제 #13
0
 void Start()
 {
     prevNumberUpgrades = PlayerUpgrades.fireworkUpgrades.Count;
     weaponScript       = this.GetComponent <ShipWeaponTemplate>().shipWeaponEquipped.GetComponent <ShipWeaponScript>();
     origFireworkIcon   = this.GetComponent <ShipWeaponTemplate>().coolDownIcon;
     origFireworkPlume  = this.GetComponent <ShipWeaponTemplate>().weaponFlare;
     weaponTemplate     = GetComponent <ShipWeaponTemplate>();
     origCoolDownTime   = weaponTemplate.coolDownTime;
     applyUpgrades();
     weaponScript.setTemplate();
 }
예제 #14
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.finBladeUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.finBladeUpgrades.Count;
            weaponScript.setTemplate();
            finBladeInstant.ResetAnimationsAndSpawnedEffects();
        }

        finBladeTransform.position = weaponScript.transform.position;
        setRotation((360 + PlayerProperties.playerScript.whatAngleTraveled) % 360);
    }
예제 #15
0
 void Start()
 {
     prevNumberUpgrades = PlayerUpgrades.smeltingLaserUpgrades.Count;
     weaponScript       = this.GetComponent <ShipWeaponTemplate>().shipWeaponEquipped.GetComponent <ShipWeaponScript>();
     weaponTemplate     = GetComponent <ShipWeaponTemplate>();
     origCoolDownTime   = weaponTemplate.coolDownTime;
     applyUpgrades();
     weaponScript.setTemplate();
     currentFragments      = 0;
     arrowInstant          = Instantiate(indicatorArrow, PlayerProperties.cursorPosition, Quaternion.identity);
     arrowRenderer         = arrowInstant.GetComponent <SpriteRenderer>();
     arrowRenderer.enabled = false;
 }
예제 #16
0
    void Start()
    {
        prevNumberUpgrades = PlayerUpgrades.finBladeUpgrades.Count;
        weaponScript       = this.GetComponent <ShipWeaponTemplate>().shipWeaponEquipped.GetComponent <ShipWeaponScript>();
        weaponTemplate     = GetComponent <ShipWeaponTemplate>();
        weaponScript.setTemplate();


        GameObject newBladeInstant = Instantiate(finBlade, transform.position, Quaternion.identity);

        finBladeInstant   = newBladeInstant.GetComponent <FinBlade>();
        finBladeTransform = newBladeInstant.transform;
        finBladeRenderer  = newBladeInstant.GetComponent <SpriteRenderer>();
    }
예제 #17
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.plantMortarUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.plantMortarUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (ailaPlantUpgrade)
        {
            if (PlayerProperties.playerScript.enemiesDefeated == false)
            {
                if (weaponScript.numberShots == numberShotsThreshold - 1)
                {
                    weaponScript.weaponPlume = empoweredWeaponFlare;
                }

                if (weaponScript.numberShots >= numberShotsThreshold)
                {
                    weaponScript.numberShots = 0;
                    weaponScript.weaponPlume = regularAirBlast2;
                }
            }
            else
            {
                if (weaponScript.weaponPlume != regularAirBlast2)
                {
                    weaponScript.weaponPlume = regularAirBlast2;
                }
            }
        }

        if (spreadBlastUpgrade)
        {
            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume = empoweredWeaponFlare;
            }
        }
    }
예제 #18
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.polluxShrineUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.polluxShrineUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (!weaponScript.isOnCooldown())
        {
            if (polluxTimer < maxPolluxTimer)
            {
                polluxTimer += Time.deltaTime;
            }
            else
            {
                polluxTimer = maxPolluxTimer;
            }
            summoningExplosionInstant.transform.localScale = new Vector3(3 * whatPolluxTimerToReturn(), 3 * whatPolluxTimerToReturn());
            if (whatPolluxTimerToReturn() == 1 && isBlinking == false)
            {
                isBlinking = true;
                StartCoroutine(blinkExplosionIndicator());
            }
        }
        else
        {
            summoningExplosionInstant.transform.localScale = Vector3.zero;
            if (polluxTimer != 0)
            {
                isBlinking              = false;
                polluxTimer             = 0;
                explosionRenderer.color = Color.white;
            }
        }
        summoningExplosionInstant.transform.position = weaponScript.transform.position + Vector3.up * 0.75f;
        explosionRenderer.sortingOrder = weaponScriptRenderer.sortingOrder + 10;
    }
예제 #19
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.revolvingCannonUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.revolvingCannonUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
        }

        if (cartridgeUpgrade == false)
        {
            if (numberRoundsStockPiled < maxRounds)
            {
                if (weaponScript.coolDownPeriod <= 0)
                {
                    weaponScript.coolDownPeriod = weaponScript.coolDownThreshold;
                    numberRoundsStockPiled++;
                    weaponScript.onCooldown            = true;
                    weaponScript.weaponNumberText.text = numberRoundsStockPiled.ToString();
                }
            }
            else
            {
                weaponScript.coolDownPeriod = weaponScript.coolDownThreshold;
                weaponScript.onCooldown     = false;
            }
        }
        else
        {
            if (numberRoundsStockPiled <= 0)
            {
                if (weaponScript.coolDownPeriod <= 0)
                {
                    weaponScript.coolDownPeriod = weaponScript.coolDownThreshold;
                    numberRoundsStockPiled      = maxRounds;
                    if (PlayerUpgrades.revolvingCannonUpgrades.Count >= 6)
                    {
                        numberRoundsStockPiled += bonusRounds;
                    }
                    bonusRounds = 0;

                    weaponScript.weaponNumberText.text = numberRoundsStockPiled.ToString();
                }
            }
            else
            {
                weaponScript.coolDownPeriod = weaponScript.coolDownThreshold;
                weaponScript.onCooldown     = false;
            }
        }

        if (weaponScript.mouseHovering == true && PlayerProperties.playerScript.playerDead == false && PlayerProperties.playerScript.windowAlreadyOpen == false)
        {
            if (Input.GetMouseButtonDown(0))
            {
                inFocus = true;
            }

            if (Input.GetMouseButton(0) && numberRoundsStockPiled > 0 && canFire && inFocus)
            {
                weaponScript.forceFire();
                numberRoundsStockPiled--;
                weaponScript.weaponNumberText.text = numberRoundsStockPiled.ToString();
                StartCoroutine(canFireRoutine());
            }
        }

        if (Input.GetMouseButtonUp(0))
        {
            inFocus = false;
            canFire = true;
        }
    }
예제 #20
0
    void Update()
    {
        if (prevNumberUpgrades != PlayerUpgrades.fireworkUpgrades.Count)
        {
            prevNumberUpgrades = PlayerUpgrades.fireworkUpgrades.Count;
            applyUpgrades();
            weaponScript.setTemplate();
            if (stockpileUnlocked)
            {
                weaponScript.weaponIcon.sprite = stockPileIcons[numberRocketsStockpiled];
            }
        }

        if (isOnlyFirework() == false && (stockpileUnlocked == true || largerExplosionsUnlocked == true))
        {
            largerExplosionsUnlocked       = false;
            stockpileUnlocked              = false;
            weaponScript.weaponPlume       = origFireworkPlume;
            weaponScript.weaponIcon.sprite = origFireworkIcon;
            numberStockPile             = 0;
            numberRocketsStockpiled     = 0;
            weaponScript.noFireNormally = false;
            applyUpgrades();
        }

        if (largerExplosionsUnlocked)
        {
            if (weaponScript.weaponPlume != empoweredWeaponFlare)
            {
                weaponScript.weaponPlume       = empoweredWeaponFlare;
                weaponScript.weaponIcon.sprite = largerExplosionsUnlockedIcon;
            }
        }

        if (stockpileUnlocked)
        {
            weaponScript.noFireNormally = true;

            if (numberRocketsStockpiled < numberStockPile)
            {
                if (weaponScript.coolDownPeriod <= 0)
                {
                    weaponScript.coolDownPeriod = weaponScript.coolDownThreshold;
                    numberRocketsStockpiled++;
                    weaponScript.onCooldown        = true;
                    weaponScript.weaponIcon.sprite = stockPileIcons[numberRocketsStockpiled];
                }
            }
            else
            {
                weaponScript.coolDownPeriod = weaponScript.coolDownThreshold;
                weaponScript.onCooldown     = false;
            }

            if (weaponScript.mouseHovering == true && Input.GetMouseButtonDown(0) && PlayerProperties.playerScript.playerDead == false && PlayerProperties.playerScript.windowAlreadyOpen == false)
            {
                if (numberRocketsStockpiled > 0)
                {
                    weaponScript.forceFire();
                    numberRocketsStockpiled--;
                    weaponScript.weaponIcon.sprite = stockPileIcons[numberRocketsStockpiled];
                }
            }

            if (numberPrevShots != weaponScript.numberShots)
            {
                numberPrevShots = weaponScript.numberShots;
            }
        }
    }