示例#1
0
    IEnumerator AbilTwoAsync()
    {
        yield return(new WaitForSeconds(0.7f));

        GameObject       obj = Instantiate(TrackerPrefab, gameObject.transform.position + new Vector3(0, 2f, 0), new Quaternion());
        ProjectileBehave pbh = obj.GetComponent <ProjectileBehave>();

        obj.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f);
        pbh.speed = 8f + Level / 5f;
        Damage dmg = new Damage(0f, Random.Range(150f, 200f) * Level, true, false, true);

        pbh.dmg = stats.RealDamage(dmg);
        pbh.ttl = 5f + Level / 2f;
        TrackingBehave tbh = obj.GetComponent <TrackingBehave>();

        tbh.RotSpeed = 2.5f + Level / 5f;
        tbh.Target   = player;


        inUse = false;
        animator.SetBool("attack2bool", false);
        float choice = Random.Range(0f, 1f);

        if (choice < 0.8)
        {
            nextAttack = 0;
        }
        else
        {
            nextAttack = 1;
        }
    }
示例#2
0
    new void Awake()
    {
        base.Awake();
        animator      = GetComponent <Animator>();
        playerTracker = GetComponent <TrackingBehave>();

        timeSinceUse = 0f;
        cooldown     = AbilityZeroCd;
        nextAttack   = 0;
        inUse        = false;
    }
示例#3
0
    new void Awake()
    {
        base.Awake();
        animator      = GetComponent <Animator>();
        playerTracker = GetComponent <TrackingBehave>();

        timeSinceUse   = 0f;
        timeSinceMelee = 0f;
        timeSinceSpawn = 0f;
        cooldown       = AbilityZeroCd;
        nextAttack     = 0;
        bonusDmg       = 0;
        spawnCd        = 9f;
        inUse          = false;
        isDead         = false;
    }
示例#4
0
    void SpawnBall()
    {
        Vector3 target;
        float   choice = Random.Range(0f, 1f);

        if (choice < 0.25f)
        {
            target = new Vector3(Random.Range(arenaStart.x + 2, arenaEnd.x - 2), arenaStart.y + 3, arenaEnd.z - 2);
        }
        else if (choice < 0.5f)
        {
            target = new Vector3(Random.Range(arenaStart.x + 2, arenaEnd.x - 2), arenaStart.y + 3, arenaStart.z + 2);
        }
        else if (choice < 0.75f)
        {
            target = new Vector3(arenaEnd.x - 2, arenaStart.y + 3, Random.Range(arenaStart.z + 2, arenaEnd.z - 2));
        }
        else
        {
            target = new Vector3(arenaStart.x + 2, arenaStart.y + 3, Random.Range(arenaStart.z + 2, arenaEnd.z - 2));
        }
        //Debug.Log("spawn tracker at " + target);
        GameObject     obj = Instantiate(TrackerPrefab, target, new Quaternion());
        DragonTracking pbh = obj.GetComponent <DragonTracking>();

        obj.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f);
        pbh.speed = 8.5f;
        Damage dmg = new Damage(0f, 0f, true, false, true);

        pbh.realIgniteDmg = stats.RealDotDamage(-25f, 0.5f * Level, false, true, false, false, true);
        pbh.dmg           = stats.RealDamage(dmg);
        pbh.ttl           = 29f;
        TrackingBehave tbh = obj.GetComponent <TrackingBehave>();

        tbh.Target = player;
    }
示例#5
0
 void Awake()
 {
     playerTracker = GetComponent <TrackingBehave>();
     animator      = GetComponent <Animator>();
 }