public override void Activate(BuffReciever reciever) { base.Activate(reciever); //Add Listener combatManager.LateBuffEffectStart.AddListener(BuffEffect); }
public override void Deactivate(BuffReciever reciever) { //Remove Listener combatManager.LateBuffEffectStart.RemoveListener(BuffEffect); base.Deactivate(reciever); }
public override void Deactivate(BuffReciever reciever) { Owner.Shield = originalReductDamageVal; //Remove Listener combatManager.LateBuffEffectStart.RemoveListener(BuffEffect); base.Deactivate(reciever); }
public override void Deactivate(BuffReciever reciever) { //Reverts Owner.IsUndead = false; //Remove Listener combatManager.OnCurrentRoundEnd.RemoveListener(BuffEffect); base.Deactivate(reciever); }
public override void Activate(BuffReciever reciever) { base.Activate(reciever); //Actions Owner.IsUndead = true; //Add Listener combatManager.OnCurrentRoundEnd.AddListener(BuffEffect); }
public override void Activate(BuffReciever reciever) { base.Activate(reciever); //Do the Effect originalReductDamageVal = Owner.Shield; Owner.Shield = BaseValue; //Add Listener combatManager.LateBuffEffectStart.AddListener(BuffEffect); }
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(); }
bool CheckCharacterValidToAttack(Character character) { BuffReciever buffReceiver = character.GetComponent <BuffReciever>(); foreach (var buff in buffReceiver.buffs) { if (buff.type == BuffType.Special) { return(false); } } return(true); }
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); } }
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); } }
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); } } }
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(); }
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; }
public virtual void Deactivate(BuffReciever reciever) { reciever.RemoveBuff(this); }