Beispiel #1
0
    void Update()
    {
        cooldownBasicBeam.StartCooldown();
        cooldownOrbitalBeam.StartCooldown();

        if (cooldownBasicBeam.IsFinish())
        {
            GameObject clone = Instantiate(basicBeam, transform.position + (transform.forward * 11), transform.rotation, gameObject.GetComponentInParent <Transform>().transform);
            clone.GetComponentInChildren <DamageComponant>().caster = GetComponent <Actor>();
            cooldownBasicBeam.ResetCountdown();
        }
        if (cooldownOrbitalBeam.IsFinish())
        {
            StartCoroutine(OrbitalStrike());
            cooldownOrbitalBeam.ResetCountdown();
        }
        if (actor.Health.GetCurrentValue() <= actor.Health.GetBaseValue() / 2 && !secondStageActive)
        {
            actor.MovementSpeed.AddModifier(5);
            actor.AttackSpeed.AddModifier(-1.5f);
            cooldownBasicBeam.AddModifier(-6);
            numberOfStrike   += 20;
            secondStageActive = true;
        }
    }
    /*
     * Function: OnGemChanged
     * Parameters: newItem, oldItem
     * Description: when a new gem is equiped, the stats for the given skill are updated
     * and the stats for the old gem are removed if one was equiped.
     */
    public void OnGemChanged(Equipment newItem, Equipment oldItem)
    {
        if (newItem != null)
        {
            Damage.AddModifier(newItem.damageModifier);
            //armor.AddModifier(newItem.armorModifier);
            RageCost.AddModifier(newItem.rageModifier);
            //AttackSpeed.AddModifier(newItem.attackspeedModifier);
            Cooldown.AddModifier(newItem.cooldownModifier);
            Lifesteal.AddModifier(newItem.lifestealModifier);
            Radius.AddModifier(newItem.radiusModifier);
            LastTime.AddModifier(newItem.lastTimeModifier);
        }

        if (oldItem != null)
        {
            //armor.RemoveModifier(oldItem.armorModifier);
            Damage.RemoveModifier(oldItem.damageModifier);
            RageCost.RemoveModifier(oldItem.rageModifier);
            //AttackSpeed.RemoveModifier(oldItem.attackspeedModifier);
            Cooldown.RemoveModifier(oldItem.cooldownModifier);
            Lifesteal.RemoveModifier(oldItem.lifestealModifier);
            Radius.RemoveModifier(oldItem.radiusModifier);
            LastTime.RemoveModifier(oldItem.lastTimeModifier);
        }
    }
Beispiel #3
0
    void Update()
    {
        cooldownSpeedBallUp.StartCooldown();
        cooldownKnockbackSpell.StartCooldown();

        partToRotate.transform.Rotate(new Vector3(0, (rotationSpeed * 1) * Time.deltaTime, 0));
        if (secondStageActive)
        {
            partToRotateStage2.transform.Rotate(new Vector3(0, (rotationSpeed * -1) * Time.deltaTime, 0));
        }


        if (cooldownSpeedBallUp.IsFinish())
        {
            StartCoroutine(SpeedUpBalls());
            cooldownSpeedBallUp.ResetCountdown();
        }
        if (cooldownKnockbackSpell.IsFinish())
        {
            Instantiate(knockSpell, transform.position, Quaternion.identity);
            cooldownKnockbackSpell.ResetCountdown();
        }

        if (actor.Health.GetCurrentValue() <= actor.Health.GetBaseValue() / 2 && !secondStageActive)
        {
            secondStageActive = true;
            foreach (Transform child in partToRotateStage2.gameObject.transform)
            {
                child.GetComponent <DamageComponant>().caster = actor;
                child.gameObject.SetActive(true);
            }
            cooldownKnockbackSpell.AddModifier(-3);
        }
    }
    /*
     * Function: OnGemChanged
     * Parameters: newItem, oldItem
     * Description: when a new gem is equiped, the stats for the given skill are updated
     * and the stats for the old gem are removed if one was equiped.
     */
    public void OnGemChanged(Equipment newItem, Equipment oldItem)
    {
        if (newItem != null)
        {
            Damage.AddModifier(newItem.damageModifier);
            //armor.AddModifier(newItem.armorModifier);
            RageCost.AddModifier(newItem.rageModifier);
            //AttackSpeed.AddModifier(newItem.attackspeedModifier);
            Cooldown.AddModifier(newItem.cooldownModifier);
            Lifesteal.AddModifier(newItem.lifestealModifier);
            //MagicResist.AddModifier(newItem.magicResistModifer);
            // Health.AddModifier(newItem.healthModifier);
        }

        if (oldItem != null)
        {
            //armor.RemoveModifier(oldItem.armorModifier);
            Damage.RemoveModifier(oldItem.damageModifier);
            RageCost.RemoveModifier(oldItem.rageModifier);
            //AttackSpeed.RemoveModifier(oldItem.attackspeedModifier);
            Cooldown.RemoveModifier(oldItem.cooldownModifier);
            Lifesteal.RemoveModifier(oldItem.lifestealModifier);
            //MagicResist.RemoveModifier(oldItem.magicResistModifer);
            //Health.RemoveModifier(oldItem.healthModifier);
        }
    }
Beispiel #5
0
    void Update()
    {
        cooldownBulletHell.StartCooldown();
        cooldownTeleport.StartCooldown();

        if (cooldownBulletHell.IsFinish())
        {
            cooldownBulletHell.ResetCountdown();
            StartCoroutine(BulletHell());
        }
        if (cooldownTeleport.IsFinish())
        {
            transform.position = new Vector3(origin.x + Random.Range(-range, range), origin.y, origin.z + Random.Range(-range, range));
            cooldownTeleport.ResetCountdown();
        }

        if (actor.Health.GetCurrentValue() <= actor.Health.GetBaseValue() / 2 && !secondStageActive)
        {
            secondStageActive = true;
            cooldownTeleport.AddModifier(-4);
            actor.Barrier.AddModifier(750);
            actor.Barrier.IncreaseCurrentValue(750);
            transform.position = new Vector3(origin.x + Random.Range(-range, range), origin.y, origin.z + Random.Range(-range, range));
            cooldownTeleport.ResetCountdown();
        }
    }
Beispiel #6
0
 private void BindToAbilities()
 {
     foreach (Ability ability in owner.Abilities)
     {
         Cooldown cooldown = ability.GetComponent <Cooldown>();
         if (cooldown == null)
         {
             continue;
         }
         cooldown.AddModifier(this);
     }
 }
Beispiel #7
0
    void Update()
    {
        cooldownSummon.StartCooldown();
        cooldownSwarmBullet.StartCooldown();
        cooldownOrbitalBeam.StartCooldown();


        if (numberOfActive >= 1)
        {
            actor.isInvulnerable = true;
        }
        else
        {
            actor.isInvulnerable = false;
        }

        if (cooldownOrbitalBeam.IsFinish() && orbitalON)
        {
            StartCoroutine(OrbitalStrike());
            cooldownOrbitalBeam.ResetCountdown();
        }

        if (cooldownSummon.IsFinish())
        {
            int randomNumber = Random.Range(0, summons.Length);

            GameObject clone = Instantiate(summons[randomNumber], new Vector3(transform.position.x + Random.Range(-4, 4), 0.5f,
                                                                              transform.position.z + Random.Range(-4, 4)), transform.rotation);
            cooldownSummon.ResetCountdown();
        }
        if (cooldownSwarmBullet.IsFinish())
        {
            StartCoroutine(BulletSwarm());
            cooldownSwarmBullet.ResetCountdown();
        }

        if (actor.Health.GetCurrentValue() <= actor.Health.GetBaseValue() / 2 && !secondStageActive)
        {
            secondStageActive = true;
            cooldownSummon.AddModifier(-2);
            numberOfStrike += 20;
            foreach (Transform child in transform)
            {
                child.gameObject.SetActive(true);
            }
        }
    }