Exemple #1
0
    public static int CalculateElementDamageOTToMonster(Damage_OT dot, Monster y)
    {
        int d = 0;

        Damage_OT.Damage_OTType otype = dot.GetDamage_OTType();
        Damage_OT.Damage_OTType poi   = Damage_OT.Damage_OTType.Poison;

        //Damage_OT.Damage_OTType ble = Damage_OT.Damage_OTType.Bleeding;
        Damage_OT.Damage_OTType fir = Damage_OT.Damage_OTType.Fire;

        Damage.DamageType m = y.mobElement;

        if (otype == poi && m == Damage.DamageType.Poison)
        {
            d = (int)((dot.GetDamage_OTAmount() / 2f)) * -1;
        }
        else if (otype == fir && m == Damage.DamageType.Fire)
        {
            d = (int)((dot.GetDamage_OTAmount() / 2f)) * -1;
        }
        else
        {
            d = dot.GetDamage_OTAmount();
        }
        return(d);
    }
Exemple #2
0
    public static int CalculateElementDamageOTToPlayer(int level, Damage_OT dot, Resistance y)
    {
        var ps = GameObject.Find("Player").GetComponent <Player_Stats>();

        int d = 0;

        if (dot.GetDamage_OTType() != Damage_OT.Damage_OTType.Normal)
        {
            if (dot.GetDamage_OTType() == y.GetResistanceOTType())
            {
                int r = y.GetResistanceAmount();
                if (r > 100)
                {
                    d = (int)((((r - 100f) / 100f) + 1f) * -1f);
                }
                else if (r == 0)
                {
                    d = (int)(dot.GetDamage_OTAmount() / (y.GetResistanceAmount() + 1f));
                }
                else if (r != 0)
                {
                    d = (dot.GetDamage_OTAmount() / (y.GetResistanceAmount()));
                }
            }
        }
        else
        {
            if (level >= (ps.playerLevel - 10))
            {
                d = ((dot.GetDamage_OTAmount() - (ps.armor / ps.playerLevel)));
            }
            else
            {
                d = ((dot.GetDamage_OTAmount() - (int)(ps.armor / (ps.playerLevel / (25f * ps.playerLevel)))));
            }
            if (d < 0)
            {
                d = 0;
            }
        }
        return(d);
    }
Exemple #3
0
 public void SetDamage(Damage_OT damage, int amount, bool monster = false)
 {
     if (DamageTextManager.IsOkToCreate())
     {
         GetComponent <Rigidbody2D>().simulated = true;
         if (monster)
         {
             GetComponent <UnityEngine.UI.Text>().fontStyle = FontStyle.Italic;
         }
         else if (!monster)
         {
             GetComponent <UnityEngine.UI.Text>().fontStyle = FontStyle.Normal;
         }
         GetComponent <UnityEngine.UI.Text>().color = Color.black;
         chaserColor = (!monster) ? SetDamageOTColor(damage.GetDamage_OTType()) : Mob;
         GetComponent <UnityEngine.UI.Text>().fontSize = 4;
         GetComponent <UnityEngine.UI.Text>().text     = amount.ToString();
         GetComponent <Rigidbody2D>().velocity         = new Vector2(Random.Range(-200, 200), 200);
     }
     else
     {
         Destroy(gameObject);
     }
 }
Exemple #4
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
        {
        }
    }