Example #1
0
    public void Explode()
    {
        Collider[] col = Physics.OverlapSphere(transform.position, 2f);
        //StartCoroutine ("ExplosionRadius");
        StartCoroutine("ExplosionExpansion", 5f);
        foreach (Collider hit in col)
        {
            Rigidbody r     = hit.GetComponent <Rigidbody> ();
            float     Force = 5f;
            if (r)
            {
                ShipClass c = rb.GetComponent <ShipClass> ();
                if (c)
                {
                    if (!c.screens.ShieldsWillHold(20f * (1f / Vector3.Distance(c.transform.position, transform.position)), transform.position, c.transform))
                    {
                        r.AddExplosionForce(Force, transform.position, 5f, 0f);
                    }
                    c.Damage(20f * (2f / Vector3.Distance(c.transform.position, transform.position)), transform.position, c.transform, Pattern);
//					Debug.Log (c.name);
                }
                else
                {
                    r.AddExplosionForce(Force, transform.position, 5f, 0f);
                }
            }
        }
        //	Destroy (render);
    }
Example #2
0
 public void DealDamage(float dam, Vector3 origin, Transform en, List <Int2> pattern)
 {
     shipClass.Damage(dam, origin, en, pattern);
 }