Ejemplo n.º 1
0
    private void FinishSkillFlying(GameObject arrow)
    {
        Destroy(arrow);
        float dmg = CalcDamage() + skill1.arg1;

        skillAim.Damage(dmg, this);
    }
Ejemplo n.º 2
0
    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);
            }
        }
    }
Ejemplo n.º 3
0
    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);
    }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
    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));
            }
        }
    }