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; } } }
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 { } }
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(); } } }
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); } } } }