private IEnumerator DealDamage(float waitTime) { yield return(new WaitForSeconds(waitTime)); damageDealerBehaviour[damageDealer.index].Position = skillHandler.MyTransformPos; damageDealer.Spawn(skillHandler.PlaceholderDamageFrontPos, Quaternion.identity); }
private IEnumerator CheckForCollision() { while (travelling) { damageDealerBehaviour[damageDealer.index].Position = myTransform.position; damageDealer.Spawn(myTransform.position, Quaternion.identity); yield return(new WaitForSeconds(0.1f)); } }
public override IEnumerator SpellCast(Vector3 position) { skillHandler.HealthHandler.ApplySpellLock(timePerTick + myAnimation[animationName[1]].length); StartCoroutine(RunCooldown(cooldown)); myAnimation[animationName[0]].time = 0; myAnimation.Blend(animationName[0], 1f, 0.1f); ccMover.Dashing = true; for (int i = 0; i < trails.Length; i++) { trails[i].emit = true; } Vector3 tempVector = CameraOrbit.Instance.CameraTransform.forward; tempVector.y = 0; tempVector.Normalize(); charMotor.movement.maxForwardSpeed = charMotor.movement.maxBackwardsSpeed = charMotor.movement.maxSidewaysSpeed = speed; charMotor.movement.gravity = 0; charMotor.SetVelocity(tempVector * speed); ccMover.MovingTransform.localRotation = Quaternion.Euler(0, 0, 0); float counter = timePerTick; while (counter > 0) { counter -= 0.1f; charMotor.SetVelocity(tempVector * speed); damageDealer.Spawn(skillHandler.MyTransformPos, Quaternion.identity); yield return(new WaitForSeconds(0.1f)); } damageDealer.Spawn(skillHandler.MyTransformPos, Quaternion.identity); myAnimation.Blend(animationName[1], 1f, myAnimation[animationName[1]].length * 0.1f); myAnimation.Blend(animationName[0], 0f, 0.1f); charMotor.movement.maxForwardSpeed = charMotor.movement.maxBackwardsSpeed = charMotor.movement.maxSidewaysSpeed = ccMover.MovementSpeed; charMotor.movement.gravity = 40; yield return(new WaitForSeconds(myAnimation[animationName[1]].length * 0.7f)); myAnimation.Blend(animationName[1], 0f, myAnimation[animationName[1]].length * 0.3f); for (int i = 0; i < trails.Length; i++) { trails[i].emit = false; } ccMover.Dashing = false; }
public override IEnumerator SpellCast(Vector3 position) { skillHandler.HealthHandler.ApplySpellLock(myAnimation[animationName[0]].length * 0.9f); StartCoroutine(RunCooldown(cooldown)); myAnimation[animationName[0]].time = 0; myAnimation.Blend(animationName[0], 1f, 0.1f); yield return(new WaitForSeconds(myAnimation[animationName[0]].length * 0.32f)); NMGame.Instance.SendProjectileSpawnRequest(nSender[swordBoomerang.index].LocalId, Lists.ProjectileTypes.SwordBoomerang); swordBoomerang.Spawn(skillHandler.MyTransformPos, Quaternion.identity); yield return(new WaitForSeconds(myAnimation[animationName[0]].length * 0.58f)); myAnimation.Blend(animationName[0], 0f, myAnimation[animationName[0]].length * 0.1f); }
public override IEnumerator SpellCast(Vector3 position) { skillHandler.HealthHandler.ApplySpellLock(ticks * timePerTick + 0.1f); StartCoroutine(RunCooldown(cooldown)); myAnimation[animationName[0]].time = 0; myAnimation.Blend(animationName[0], 1f, 0.1f); ccMover.ShouldLook = false; for (int i = 0; i < trails.Length; i++) { trails[i].emit = true; } for (byte i = 0; i < ticks; i++) { yield return(new WaitForSeconds(timePerTick)); damageDealer.Spawn(skillHandler.MyTransformPos, Quaternion.identity); } for (int i = 0; i < trails.Length; i++) { trails[i].emit = false; } ccMover.ShouldLook = true; myAnimation.Blend(animationName[0], 0f, 0.1f); }