Esempio n. 1
0
    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);
            }
        }
    }
Esempio n. 2
0
        public override void Use(IDamageable damageable)
        {
            int finalDamage = Random.Next(MinDamage, MaxDamage + 1);

            Damaging.DoDamage(damageable, finalDamage);
            Damaging.DoDamage(_character, (int)(finalDamage * 0.35));
        }
Esempio n. 3
0
 private void ResolveDamager(Damaging damager)
 {
     if (damager.Target == null || damager.Target == this.gameObject)
     {
         TakeDamage(damager.Damage);
     }
 }
Esempio n. 4
0
    private void Start()
    {
        damagingBehaviour = GetComponent <Damaging>();

        autoTargetChild.TargetAcquired += OnTargetAcquired;
        autoTargetChild.TargetLost     += OnTargetLost;
    }
Esempio n. 5
0
File: Bullet.cs Progetto: tivtag/Fly
        private void OnDamageApplied(Damaging sender, IFlyEntity e)
        {
            // ToDo: Add bounce support!

            Behave.This(this)
            .BlendOut(forSeconds: 1)
            .Despawn();
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
    void OnTriggerEnter(Collider other)
    {
        OnDestructing();
        Damaging damaging = GetComponent <Damaging> ();

        if (damaging)
        {
            damaging.Damage(other.gameObject);
        }
    }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
 public virtual void Destroy(Damaging destroyedBy)
 {
     if (destructionEvent)
     {
         destructionEvent.Raise();
     }
     if (destroyAfterDeath)
     {
         Destroy(gameObject);
     }
 }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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;
    }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
    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();
                }
            }
        }
    }
Esempio n. 16
0
    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);
        }
    }
Esempio n. 17
0
    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);
        }
    }
Esempio n. 18
0
    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);
            }
        }
    }
Esempio n. 19
0
    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);
        }
    }
Esempio n. 20
0
        public override void Use(IDamageable damageable)
        {
            int finalDamage = Random.Next(30, 46);

            Damaging.DoDamage(damageable, finalDamage);
        }
Esempio n. 21
0
        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);
        }
Esempio n. 23
0
 public override void StartTick()
 {
     Damaging.DoHealing(Target, Healing);
 }
Esempio n. 24
0
 public override void EndTick()
 {
     Damaging.DoDamage(Target, Damage);
 }
Esempio n. 25
0
 protected virtual void OnDamaging(SourcedDamage e) => Damaging?.Invoke(this, e);
Esempio n. 26
0
        public override void Use(IDamageable damageable)
        {
            int finalDamage = (int)Math.Round(_character.HealthPoints * 0.2, 0);

            Damaging.DoDamage(damageable, finalDamage);
        }
Esempio n. 27
0
 private void OnDamaged(Damaging sender, Entities.IFlyEntity e)
 {
     this.Despawn();
 }
Esempio n. 28
0
 void Start()
 {
     damaging = (Damaging)GetComponentInParent(typeof(Damaging));
 }
Esempio n. 29
0
        public override void Use(IDamageable damageable)
        {
            int finalHealing = Random.Next(MinHeal, MaxHeal + 1);

            Damaging.DoHealing(_character, finalHealing);
        }