Beispiel #1
0
    public void ShootOnTarget(GeneralSquare target)
    {
        GameObject newProjectil = Instantiate <GameObject>(attackProjectil);
        Projectil  pro          = newProjectil.GetComponent <Projectil>();

        pro.Go(this, target, 3, attack + bonusAtk);
    }
    private void LatedDamageOnTarget(GeneralSquare target, int damage)
    {
        Destroy(Instantiate <GameObject>(directDamageParticlePrefab,
                                         target.transform.position + new Vector3(0, 0, -0.25f),
                                         directDamageParticlePrefab.transform.rotation), 1);

        StartCoroutine(WaitToDamageOnTarget(target, damage, 0.5f));
    }
Beispiel #3
0
    public virtual void LatedAct()
    {
        GeneralSquare target = myPlayer.enemyPlayer.GiveRandomTarget();

        ShootOnTarget(target);

        //target.ApplyDamage(attack + bonusAtk);
    }
Beispiel #4
0
    void ChangeTarget()
    {
        GeneralSquare newtarget = target.myPlayer.GiveRandomTarget();

        target = newtarget;

        Vector2 dir = target.transform.position - transform.position;

        rig2D.velocity = dir.normalized * speed;
    }
    private void BlockOffensive(int tier)
    {
        for (int j = 0; j < tier; j++)
        {
            GeneralSquare target = enemyPlayer.GiveRandomTarget(false);
            if (target == enemyPlayer.MainSquare)
            {
                return;
            }

            target.SetDisabled(true);
        }
    }
Beispiel #6
0
    public void Go(GeneralSquare source, GeneralSquare target, float speed, int amountEffect)
    {
        this.source       = source;
        this.target       = target;
        this.speed        = speed;
        this.amountEffect = amountEffect;

        rig2D.MovePosition(source.transform.position + new Vector3(0, 0, -0.25f));

        Vector2 dir = target.transform.position - source.transform.position;

        rig2D.velocity = dir.normalized * speed;
    }
    ///////////////Utilities jackpot Effects//////////////////////////

    private void DrainUtility(int tier)
    {
        int drainValue = tier + 1;

        for (int j = 0; j < tier; j++)
        {
            GeneralSquare targetEnemy = enemyPlayer.GiveRandomTarget();
            GeneralSquare targetAlly  = GiveRandomTarget(false);

            LatedDamageOnTarget(targetEnemy, drainValue);
            //targetEnemy.ApplyDamage(drainValue);
            targetAlly.Heal(drainValue);
        }
    }
Beispiel #8
0
    private void LatedHeal()
    {
        GeneralSquare target = myPlayer.GiveRandomTarget(false);

        ShootOnTarget(target);
    }
    IEnumerator WaitToDamageOnTarget(GeneralSquare target, int damage, float delayTime)
    {
        yield return(new WaitForSeconds(delayTime));

        target.ApplyDamage(damage);
    }