private void FinishSkillFlying(GameObject arrow) { Destroy(arrow); float dmg = CalcDamage() + skill1.arg1; skillAim.Damage(dmg, this); }
IEnumerator Blizzard() { int count = (int)skill1.arg3; for (int i = 0; i < count; i++) { BaseUnit unit = troop.GetRandEnemy(); if (!unit) { return(false); } GameObject eff = Instantiate(BattleManager.Instance.GetEffect("12361")) as GameObject; eff.transform.position = unit.transform.position + Vector3.up * 10; iTween.MoveTo(eff, iTween.Hash("position", unit.transform.position, "easeType", "linear", "time", 0.45f)); yield return(new WaitForSeconds(0.6f)); float dmg = CalcDamage() + skill1.arg1; unit.Damage(dmg, this); int percentage = (skill1.level - unit.level) * 20 + 100; if (Helper.Rand100Hit(percentage)) { Dot dot = new Dot(); dot.type = DotType.freeze; dot.duration = skill1.arg4; dot.unit = this; unit.AddDot(dot); } } }
public virtual void DoNormalAttack(BaseUnit aim) { Instantiate(attackEffect, aim.transform.position + new Vector3(0, .5f, 0), Quaternion.identity); float dmg = CalcDamage(); AddGauge(50); aim.Damage(dmg, this); }
private void FinishFlying(GameObject arrow) { if (skill2 != null && normalAttackCount == (int)skill2.arg3) { normalAttackCount = 0; Instantiate(attackEffect, aim.transform.position + new Vector3(0, .5f, 0), Quaternion.identity); float dmg = CalcDamage() + skill2.arg1; AddGauge(100); aim.Damage(dmg, this); aim.AddGauge(-1 * skill2.arg4); } else { base.DoNormalAttack(aim); } Destroy(arrow); }
private void FinishSkillFlying(GameObject arrow) { float dmg = CalcDamage() + skill1.arg1; skillAim.Damage(dmg, this); bounceCount--; if (bounceCount < 0) { Destroy(arrow); } else { skillAim = skillAim.GetNearestFellow(); if (!skillAim) { Destroy(arrow); } else { iTween.MoveTo(arrow, iTween.Hash("position", skillAim.transform.position + new Vector3(0, .5f, 0), "easeType", "linear", "speed", 20, "oncomplete", "FinishSkillFlying", "oncompleteparams", arrow, "oncompletetarget", this.gameObject)); } } }