Пример #1
0
 void OnEnable()
 {
     PlayerDamageController.Initialize();
     AnimatorClipInfo[] clipInfo = anim.GetCurrentAnimatorClipInfo(0);
     Destroy(gameObject, clipInfo[0].clip.length - 0.01f);
     dmgText = anim.GetComponent <Text>();
 }
    void OnTriggerEnter2D(Collider2D other)
    {
        PlayerDamageController playerDamageController = other.GetComponent <PlayerDamageController>();

        if (playerDamageController != null)
        {
            playerDamageController.TakeDamage(7f);
        }
    }
Пример #3
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag(TagHelper.PLAYER_TAG))
        {
            PlayerDamageController playerDamageController = other.GetComponent <PlayerDamageController>();
            playerDamageController.TakeDamage(damageAmount);

            ObjectPooler.Instance.ReturnToPool(gameObject.name, gameObject);
        }
    }
Пример #4
0
 private void OnTriggerStay2D(Collider2D collision)
 {
     if (collision.gameObject.name.Equals("Player") && Time.time > downTimeTime)
     {
         PlayerDamageController playerDamageController = collision.transform.GetComponent <PlayerDamageController>();
         playerDamageController.TakeDamage(damage);
         downTimeTime = Time.time + downTime;
     }
     else if (collision.gameObject.GetComponent <Enemy>() && collision.gameObject != gameObject && !collision.isTrigger && canHitAlies && Time.time > downTimeTime)
     {
         collision.gameObject.GetComponent <Enemy>().TakeDamage(damage);
         downTimeTime = Time.time + downTime;
         Debug.Log("Hit Enemy");
     }
 }
Пример #5
0
    //Attacks player
    void AttackPlayer()
    {
        float aff       = 55;
        float hitChance = aff * eStrength / (pDef + PlayerEngine.pArmourLvl * 2);
        float hit       = Random.Range(0, 100);

        if (hit < hitChance)
        {
            float maxHit    = Mathf.Ceil(0.5f * eStrength);
            int   hitAmount = Mathf.RoundToInt(Random.Range(1, maxHit));
            PlayerDamageController.CreateDamageText(hitAmount.ToString(), player.transform);
            PlayerHealth phealth = player.GetComponent <PlayerHealth>();
            phealth.LoseHealth(hitAmount);
        }
        else
        {
            PlayerDamageController.CreateDamageText("0", player.transform);
        }
    }
Пример #6
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.name.Equals("Player"))
        {
            PlayerDamageController playerDamageController = collision.transform.GetComponent <PlayerDamageController>();

            playerDamageController.TakeDamage(damage);
            Destroy(gameObject);
        }
        else if (collision.gameObject.GetComponent <Enemy>() && collision.gameObject != spawnOrigin && !collision.isTrigger)
        {
            collision.gameObject.GetComponent <Enemy>().TakeDamage(damage);
            Destroy(gameObject);
        }
        else if (collision.gameObject.name.Equals("Surface"))
        {
            Destroy(gameObject);
        }
    }
Пример #7
0
    void HitTarget()
    {
        float aff       = 65;
        float hitChance = aff * (str + 5) / (DefenseSkill.defLvl + PlayerEngine.pArmourLvl * 2);
        float hit       = Random.Range(0, 100);

        if (hit < hitChance)
        {
            float maxHit  = Mathf.Ceil(0.5f * (str + 5f));
            int   hitRoll = Mathf.RoundToInt(Random.Range(1, maxHit));
            PlayerDamageController.CreateDamageText(hitRoll.ToString(), target.transform);
            PlayerHealth phealth = target.GetComponent <PlayerHealth>();
            phealth.LoseHealth(hitRoll);
        }
        else
        {
            PlayerDamageController.CreateDamageText("0", target.transform);
        }
    }
Пример #8
0
    void MeleeAttack()
    {
        str  = 30;
        def  = 30;
        weak = 1;

        float aff       = 65;
        float hitChance = aff * (str + 5) / (pDef + PlayerEngine.pArmourLvl * 2);
        float hit       = Random.Range(0, 100);

        if (hit < hitChance)
        {
            float maxHit  = Mathf.Ceil(0.5f * (str + 5f));
            int   hitRoll = Mathf.RoundToInt(Random.Range(1, maxHit));
            PlayerDamageController.CreateDamageText(hitRoll.ToString(), player.transform);
            PlayerHealth phealth = player.GetComponent <PlayerHealth>();
            phealth.LoseHealth(hitRoll);
        }
        else
        {
            PlayerDamageController.CreateDamageText("0", player.transform);
        }
    }