public void TriggerCollision(Collider2D col) { if (invincibleTimer > 0) { return; } Damaging damaging = col.gameObject.GetComponent<Damaging>(); if (damaging != null && damaging.team != team) { if (damaging.team == immuneTo) { HitShine(); return; } TakeDamage(damaging.damage); if (takeKnockback) { TakeKnockback(damaging.knockbackAmount, damaging.transform.position); } } }
public override void Use(IDamageable damageable) { int finalDamage = Random.Next(MinDamage, MaxDamage + 1); Damaging.DoDamage(damageable, finalDamage); Damaging.DoDamage(_character, (int)(finalDamage * 0.35)); }
private void ResolveDamager(Damaging damager) { if (damager.Target == null || damager.Target == this.gameObject) { TakeDamage(damager.Damage); } }
private void Start() { damagingBehaviour = GetComponent <Damaging>(); autoTargetChild.TargetAcquired += OnTargetAcquired; autoTargetChild.TargetLost += OnTargetLost; }
private void OnDamageApplied(Damaging sender, IFlyEntity e) { // ToDo: Add bounce support! Behave.This(this) .BlendOut(forSeconds: 1) .Despawn(); }
public override void Use(IDamageable damageable) { int finalDamage = Random.Next(MinDamage, MaxDamage + 1); Damaging.DoDamage(damageable, finalDamage); Buff = new FireballDOT((int)Math.Round(finalDamage * BuffDamage, 0)); Buff.Target = damageable; damageable.BuffManager.AddBuff(Buff); }
void OnTriggerEnter(Collider other) { OnDestructing(); Damaging damaging = GetComponent <Damaging> (); if (damaging) { damaging.Damage(other.gameObject); } }
public override void Use(IDamageable damageable) { int finalDamage = (int)FinalMeanDamage; Damaging.DoDamage(damageable, finalDamage); Buff = new FireBurnsDOT(finalDamage); Buff.Target = damageable; damageable.BuffManager.AddBuff(Buff); }
public virtual void Destroy(Damaging destroyedBy) { if (destructionEvent) { destructionEvent.Raise(); } if (destroyAfterDeath) { Destroy(gameObject); } }
public override void Use(IDamageable damageable) { Buff = new SicknessDOTDarkElf(30); Buff.Target = damageable; int finalDamage = Random.Next(60, 101); Damaging.DoDamage(damageable, finalDamage); damageable.BuffManager.AddBuff(Buff); }
public override void Use(IDamageable damageable) { int finalHealing = Random.Next(MinHeal, MaxHeal + 1); Damaging.DoHealing(_character, finalHealing); Buff = new RejuvenationHOT((int)(finalHealing * 0.25)); Buff.Target = _character; _character.BuffManager.AddBuff(Buff); }
public override void Use(IDamageable damageable) { int finalHealing = Random.Next(0, 201); Damaging.DoHealing(_character, finalHealing); Buff = new ElvenWaterHOTDarkElf((int)Math.Round(finalHealing * 0.25, 0)); Buff.Target = _character; _character.BuffManager.AddBuff(Buff); }
private void Start() { animator = GetComponent <Animator>(); damageableBehaviour = GetComponent <Damageable>(); autoMovementBehaviour = GetComponent <AutoMovement>(); targetableBehaviour = GetComponent <Targetable>(); damagingBehaviour = GetComponent <Damaging>(); damageableBehaviour.DamageTaken += handleDamageTaken; autoTargetingChild.TargetAcquired += OnTargetAcquired; autoTargetingChild.TargetLost += OnTargetLost; }
public override void Use(IDamageable damageable) { int finalDamage = 300; Damaging.DoDamage(damageable, finalDamage); int finalDOT = Random.Next(100, 501); Buff = new FireBreathDOTDragon((int)((decimal)(finalDOT) / 3), damageable); Buff.Target = damageable; damageable.BuffManager.AddBuff(Buff); }
public void OnTriggerEnter(Collider other) { Damaging damageComponent = other.GetComponent <Damaging>(); if (damageComponent) { for (int i = 0; i < weaknesses.arr.Length; i++) { if (weaknesses.arr[i] == damageComponent.type) { TakeDamage(damageComponent); damageComponent.ObjectWasHit(); } } } }
public void TakeDamage(Damaging damagedBy) { float damage = damagedBy.damage.Value; if (!HP) { Destroy(damagedBy); return; } HP.Value -= damage; if (HP.Value <= 0) { HP.Value = 0; Destroy(damagedBy); } }
public override void Destroy(Damaging destroyedBy) { if (destructionEvent) { destructionEvent.Raise(); } // Make sure scoring event exists and that object was destroyed by player if (scoreEvent && destroyedBy.type == DamageType.PlayerDamage) { scoreEvent.RaiseEvent(scoreAmount.Value); } gameObject.SetActive(false); if (destroyAfterDeath) { Destroy(gameObject); } }
public void TakeHit(Damaging damaging) { if (invincibleTimer > 0) { return; } if (damaging.team != team) { if (damaging.team == immuneTo) { HitShine(); return; } TakeDamage(damaging.damage); if (takeKnockback) { TakeKnockback(damaging.knockbackAmount, damaging.transform.position); } } }
void OnTriggerEnter(Collider other) { GameObject player = PlayerManager.Instance.GetPlayer(); if (other.tag == player.tag) { other.attachedRigidbody.AddForceAtPosition(m_velocity * m_forceImpactMultiplier, other.ClosestPoint(this.transform.position), ForceMode.Impulse); } Damaging damaging = GetComponent <Damaging> (); if (damaging) { damaging.Damage(other.gameObject); } PoolManager.Instance.returnPoolElement(PoolManager.PoolType.PROJECTILE, this.gameObject); GameObject hit = PoolManager.Instance.GetPoolElement(PoolManager.PoolType.HIT); if (hit) { hit.transform.position = this.transform.position; hit.SetActive(true); } }
public override void Use(IDamageable damageable) { int finalDamage = Random.Next(30, 46); Damaging.DoDamage(damageable, finalDamage); }
public override void Use(IDamageable damageable) { int finalDamage = Random.Next(MinDamage, MaxDamage + 1); Damaging.DoDamage(damageable, finalDamage); }
public override void Use(IDamageable damageable) { int finalHealing = 65; Damaging.DoHealing(_character, finalHealing); }
public override void StartTick() { Damaging.DoHealing(Target, Healing); }
public override void EndTick() { Damaging.DoDamage(Target, Damage); }
protected virtual void OnDamaging(SourcedDamage e) => Damaging?.Invoke(this, e);
public override void Use(IDamageable damageable) { int finalDamage = (int)Math.Round(_character.HealthPoints * 0.2, 0); Damaging.DoDamage(damageable, finalDamage); }
private void OnDamaged(Damaging sender, Entities.IFlyEntity e) { this.Despawn(); }
void Start() { damaging = (Damaging)GetComponentInParent(typeof(Damaging)); }
public override void Use(IDamageable damageable) { int finalHealing = Random.Next(MinHeal, MaxHeal + 1); Damaging.DoHealing(_character, finalHealing); }