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); } }
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); } }
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(); } }
private void BindToAbilities() { foreach (Ability ability in owner.Abilities) { Cooldown cooldown = ability.GetComponent <Cooldown>(); if (cooldown == null) { continue; } cooldown.AddModifier(this); } }
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); } } }