private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Saber")
        {
            if (isAlive)
            {
                SaberDamage saberDamage = collision.gameObject.GetComponent <SaberScript>().GetDamage();

                if (shields > 0)
                {
                    int damage = saberDamage.getSlash() + (int)(saberDamage.getCold() * 1.5) + saberDamage.getElectricity() + saberDamage.getHeat() + saberDamage.getToxin();
                    shields = Mathf.Clamp(shields - damage, 0, shields);
                }
                else
                {
                    int damage = (int)(saberDamage.getSlash() * 1.25) + saberDamage.getCold() + saberDamage.getElectricity() + saberDamage.getHeat() + (int)(saberDamage.getToxin() * 1.5);
                    health -= damage;
                }

                if (Random.Range(1, 100) < 15)
                {
                    List <AudioClip> corpusSpeech = new List <AudioClip>();
                    for (int i = 1; i < 5; i++)
                    {
                        corpusSpeech.Add(Resources.Load <AudioClip>("Sounds/CorpusCrewman/Pain/corpus_pain_0" + i));
                    }
                    corpusCrewmanVoice.clip = corpusSpeech[Random.Range(0, 4)];
                    corpusCrewmanVoice.Play();
                }

                checkHealthStatus();

                updateBar();
            }
        }
    }
예제 #2
0
 // Use this for initialization
 void Start()
 {
     saberDamage = new SaberDamage();
     defaultLocation.Set(0, 0, 0);
     particle = this.gameObject.GetComponentInChildren <ParticleSystem>();
 }