Esempio n. 1
0
 public void OnTriggerStay2D(Collider2D col)
 {
     if (col.gameObject.tag == "Monster")
     {
         if (isReady && pM.attacking)
         {
             isReady = false;
             Damage damage = new Damage(pS.primaryDamage, pS.minDamage_P, pS.maxDamage_P);
             damage.RunCritDice(0, 100, pS.critChance, (1f + (pS.critDamage / 100f)));
             int hit = Damage_Calculator.CalculateElementDamageToMonster(damage, col.GetComponent <Monster>());
             if (pS.primaryOTDamage != Damage_OT.Damage_OTType.Normal)
             {
                 Damage_OT ot    = new Damage_OT(pS.primaryOTDamage, (int)(Random.Range(pS.minDamage_P / 5f, pS.maxDamage_P / 5)), 5f);
                 int       othit = Damage_Calculator.CalculateElementDamageOTToMonster(ot, col.GetComponent <Monster>());
                 col.GetComponent <Monster>().TakeDamageOT(ot, othit);
                 GameObject debuff = Instantiate(new GameObject(), col.transform);
                 debuff.AddComponent <De_Buff>().InitializeDeBuff(ot);
             }
             col.GetComponent <Monster>().TakeDamage(damage, hit);
             Debug.Log("Hit For : " + hit);
         }
         if (!pM.attacking)
         {
             isReady = true;
         }
     }
 }
Esempio n. 2
0
    public void Attack()
    {
        var m = GetComponentInParent <Monster>();
        var p = GetComponentInParent <Player_Main>();

        if (dot.GetDamage_OTAmount() <= 0)
        {
            dot.SetDamage_OTAmount(1);
        }
        if (m != null)
        {
            int x = Damage_Calculator.CalculateElementDamageOTToMonster(dot, m);
            m.TakeDamageOT(dot, x);
        }
        else if (p != null)
        {
            int        x    = Damage_Calculator.CalculateElementDamageOTToPlayer(level, dot, p.pS.GetResistanceForType(dot.GetDamage_OTType()));
            var        dui  = GameObject.FindGameObjectWithTag("DamageText");
            GameObject dtui = Instantiate(dui, dui.transform.parent.parent) as GameObject;
            Vector2    cam  = Camera.main.WorldToScreenPoint(transform.position);
            dtui.transform.position = cam;
            dtui.AddComponent <DamageText_UI>().SetDamage(dot, x, true);
            p.TakeDamage(x, true);
        }
        else
        {
        }
    }
Esempio n. 3
0
 public void OnTriggerEnter2D(Collider2D col)
 {
     if (tag == "PlayerProjectile" && col.tag == "Monster")
     {
         int x = Damage_Calculator.CalculateElementDamageToMonster(magic.d, col.GetComponent <Monster>());
         col.GetComponent <Monster>().TakeDamage(magic.d, x);
         if (magic.dot.GetDamage_OTType() != Damage_OT.Damage_OTType.Normal)
         {
             GameObject debuff = Instantiate(new GameObject(), col.transform);
             debuff.AddComponent <De_Buff>().InitializeDeBuff(magic.dot);
         }
         if (!magic.isPiercing)
         {
             KillYourSelf();
         }
     }
 }
Esempio n. 4
0
    public void OnTriggerStay2D(Collider2D col)
    {
        if (col.tag == "Monster" && tag == "PHITBOX")
        {
            var b = GetComponentInParent <Player_Main>();
            if (!b.invulnerable)
            {
                Damage d = null;
                var    m = col.GetComponent <Monster>();
                if (m.mobElement == Damage.DamageType.Poison)
                {
                    Damage_OT  dot    = new Damage_OT(Damage_OT.Damage_OTType.Poison, (int)(Random.Range(m.minDamage, m.maxDamage) / 5f), 1.00f);
                    GameObject debuff = Instantiate(new GameObject(), b.transform);
                    debuff.AddComponent <De_Buff>().InitializeDeBuff(dot);
                    d = new Damage(m.mobElement, m.minDamage / 3, m.maxDamage / 3);
                }

                else
                {
                    d = new Damage(m.mobElement, m.minDamage, m.maxDamage);
                }
                Resistance r = (GetComponentInParent <Player_Stats>().GetResistanceForType(m.mobElement));

                int x = Damage_Calculator.CalculateElementDamageToPlayer(m, d, r);
                b.TakeDamage(x);
                var dui = GameObject.FindGameObjectWithTag("DamageText");

                if (DamageTextManager.IsOkToCreate())
                {
                    GameObject dtui = Instantiate(dui, dui.transform.parent.parent) as GameObject;
                    Vector2    cam  = Camera.main.WorldToScreenPoint(transform.position);
                    dtui.transform.position = cam;
                    dtui.AddComponent <DamageText_UI>().SetDamage(d, x, true);
                }
            }
        }
    }