Ejemplo n.º 1
0
    public override void Activate(BuffReciever reciever)
    {
        base.Activate(reciever);

        //Add Listener
        combatManager.LateBuffEffectStart.AddListener(BuffEffect);
    }
Ejemplo n.º 2
0
    public override void Deactivate(BuffReciever reciever)
    {
        //Remove Listener
        combatManager.LateBuffEffectStart.RemoveListener(BuffEffect);

        base.Deactivate(reciever);
    }
Ejemplo n.º 3
0
    public override void Deactivate(BuffReciever reciever)
    {
        Owner.Shield = originalReductDamageVal;

        //Remove Listener
        combatManager.LateBuffEffectStart.RemoveListener(BuffEffect);

        base.Deactivate(reciever);
    }
Ejemplo n.º 4
0
    public override void Deactivate(BuffReciever reciever)
    {
        //Reverts
        Owner.IsUndead = false;

        //Remove Listener
        combatManager.OnCurrentRoundEnd.RemoveListener(BuffEffect);

        base.Deactivate(reciever);
    }
Ejemplo n.º 5
0
    public override void Activate(BuffReciever reciever)
    {
        base.Activate(reciever);

        //Actions
        Owner.IsUndead = true;

        //Add Listener
        combatManager.OnCurrentRoundEnd.AddListener(BuffEffect);
    }
Ejemplo n.º 6
0
    public override void Activate(BuffReciever reciever)
    {
        base.Activate(reciever);

        //Do the Effect
        originalReductDamageVal = Owner.Shield;
        Owner.Shield            = BaseValue;

        //Add Listener
        combatManager.LateBuffEffectStart.AddListener(BuffEffect);
    }
Ejemplo n.º 7
0
    public override IEnumerator SkillRoutine(CustomCharacterController cc, Vector3 origin)
    {
        yield return(new WaitForSeconds(0.5f));

        Sequence s = DOTween.Sequence();

        //Move To Enemy
        Vector3 movePoint = new Vector3(enemy.transform.position.x - targetOffset, enemy.transform.position.y, enemy.transform.position.z);

        s.Append(actor.transform.DOMove(movePoint, moveToDuration));
        yield return(new WaitForSeconds(moveToDuration));

        //Wind Up
        Vector3 rotate = new Vector3(windUp - actor.transform.rotation.x, 90, 0);

        s.Append(actor.transform.DORotate(rotate, windUpDuration));
        s.Append(actor.transform.DOPunchScale(new Vector3(2, 2, 2), windUpDuration, 5, 0.5f));
        yield return(new WaitForSeconds(windUpDuration));

        //Slam
        rotate = new Vector3(slam + actor.transform.rotation.x, 90, 0);
        s.Append(actor.transform.DORotate(rotate, slamDuration));

        DealDamage(enemy, Damage);

        //Add Bleed buff to enemy
        BuffReciever bReceiver = enemy.GetComponent <BuffReciever>();

        if (bReceiver.FindBuff(_BleedDebuff) == false)
        {
            bReceiver.AddBuff(_BleedDebuff);
        }
        else
        {
            bReceiver.FindBuff(_BleedDebuff).duration = _BleedDebuff.duration;
        }

        OnActivated.Invoke();

        if (audioManager)
        {
            audioManager.PlaySFX("Hit");
        }

        yield return(new WaitForSeconds(slamDuration));

        s.Append(actor.transform.DORotate(new Vector3(0, 90, 0), 0.1f));
        movePoint = origin;
        s.Append(actor.transform.DOMove(movePoint, returnDuration).OnComplete(SkillEffectEnd));
        yield return(new WaitForSeconds(returnDuration));

        cc.OnDestinationReach.Invoke();
    }
Ejemplo n.º 8
0
    bool CheckCharacterValidToAttack(Character character)
    {
        BuffReciever buffReceiver = character.GetComponent <BuffReciever>();

        foreach (var buff in buffReceiver.buffs)
        {
            if (buff.type == BuffType.Special)
            {
                return(false);
            }
        }

        return(true);
    }
Ejemplo n.º 9
0
    public virtual void Activate(BuffReciever reciever)
    {
        OnActivate.Invoke();

        rcvr          = reciever;
        combatManager = SingletonManager.Get <CombatManager>();
        audioManager  = SingletonManager.Get <AudioManager>();

        //Instantiate Particle FX
        if (ParticleFX)
        {
            ParticleInstance = Instantiate(ParticleFX, rcvr.transform.position + (Vector3.up * yOffSet), ParticleFX.transform.rotation, rcvr.transform);
        }
    }
Ejemplo n.º 10
0
    public bool CheckUndeadBuffExist()
    {
        BuffReciever br = GetComponent <BuffReciever>();

        Buff buff = br.buffs.Find(b => b.GetType() == typeof(UndyingBuff));

        if (buff == null)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
Ejemplo n.º 11
0
    public void Effect()
    {
        actor.GetComponent <Character>().Mana -= cost;

        _ReduceDamageBuff.BaseValue = _Intensity.Levels[IntensityLevel - 1].IDatas.First();

        foreach (var item in SingletonManager.Get <FieldManager>().SpawnedAllies)
        {
            BuffReciever bReceiver = item.GetComponent <BuffReciever>();

            if (bReceiver.FindBuff(_ReduceDamageBuff) == false)
            {
                bReceiver.AddBuff(_ReduceDamageBuff);
            }
        }
    }
Ejemplo n.º 12
0
    public IEnumerator SkillRoutine(Vector3 origin)
    {
        yield return(new WaitForSeconds(0.5f));

        Sequence s = DOTween.Sequence();

        s.Append(actor.transform.DOMoveY(riseRange, riseDuration));

        yield return(new WaitForSeconds(riseDuration));

        Vector3 rotate = new Vector3(0, 180, 0);

        s.Append(actor.transform.DOBlendableRotateBy(rotate, spinTime));
        s.Append(actor.transform.DOBlendableRotateBy(rotate, spinTime));
        s.Append(actor.transform.DOBlendableRotateBy(rotate, spinTime));
        s.Append(actor.transform.DOBlendableRotateBy(rotate, spinTime));
        if (audioManager)
        {
            audioManager.PlaySFX("Cast_Ice_Shield");
        }

        yield return(new WaitForSeconds(spinDuration));

        actor.GetComponent <Character>().Mana -= cost;

        //Buff Settings
        _DoubleAttackBuff.BaseValue = _Intensity.Levels[IntensityLevel - 1].IDatas.First();

        BuffReciever bReceiver = actor.GetComponent <BuffReciever>();

        if (bReceiver.FindBuff(_DoubleAttackBuff) == false)
        {
            bReceiver.AddBuff(_DoubleAttackBuff);
        }
        else
        {
            bReceiver.FindBuff(_DoubleAttackBuff).duration = _DoubleAttackBuff.duration;
        }

        s.Append(actor.transform.DOMove(origin, riseDuration));

        yield return(new WaitForSeconds(riseDuration));

        OnActivated.Invoke();
        base.SkillEffectEnd();
        actor.GetComponent <CustomCharacterController>().OnDestinationReach.Invoke();
    }
Ejemplo n.º 13
0
    void Start()
    {
        myUI          = FindObjectOfType <UIController>();
        GDC           = gameObject.transform.GetChild(1).gameObject.GetComponent <GroundDetectionController>();
        directionMove = Vector3.zero;
        myAnimator    = gameObject.GetComponent <Animator>();
        mySprRenderer = gameObject.GetComponent <SpriteRenderer>();
        poolShoot     = GameObject.Find("ArrowPool").GetComponent <PoolShootObjects>();

        isRightDirection = true;
        canShoot         = false;
        canShootCor      = true;
        canMove          = false;

        myBuffReciever = GetComponent <BuffReciever>();
        myBuffReciever.OnBuffChanges += OnHealthChange;
        myBuffReciever.OnBuffChanges += OnForceChange;
        myBuffReciever.OnBuffChanges += OnDamageChange;

        GameManager.inst.playerController = this;
        addDmg = 0;
    }
Ejemplo n.º 14
0
 public virtual void Deactivate(BuffReciever reciever)
 {
     reciever.RemoveBuff(this);
 }