Ejemplo n.º 1
0
        void OnMouseOverEnemy(EnemyAI enemyToSet)
        {
            this.target = enemyToSet;
            HealthSystem enemyCharacterHealth = this.target.GetComponent <HealthSystem>();

            if (Input.GetMouseButton(0) && playerCharacter.IsTargetInRange(enemyCharacterHealth.GetComponent <Character>()))
            {
                weaponSystem.AttackTarget(enemyCharacterHealth);
            }
            else if (Input.GetMouseButtonDown(1) && playerCharacter.IsTargetInRange(enemyCharacterHealth.GetComponent <Character>()))
            {
                playerAbilities.AttemptSpecialAbility(0, enemyCharacterHealth, characterStats.GetDamage());
            }
        }
Ejemplo n.º 2
0
        public float CalculateHitProbability(float damage, HealthSystem targetToHit)
        {
            int score = UnityEngine.Random.Range(1, 101);

            float damageDealerNewAccuracy = GetComponent <CharacterStats>().GetAccuracy() - targetToHit.GetComponent <CharacterStats>().GetDeflection();
            float attackRoll = score + damageDealerNewAccuracy;

            print("------------------------------------------------------------------------------");
            print("Attack Roll: " + score + "(score) + " + damageDealerNewAccuracy + " (Player Accuracy - Enemy Deflection) " + " = " + attackRoll);

            if (attackRoll > 25 && attackRoll <= 50)
            {
                damage = damage / 2;
                print("This hit was a GRAZE. Damage/2 = " + damage);
            }
            else if (attackRoll > 0 && attackRoll < 25)
            {
                damage = 0;
                print("This hit was a MISS. Damage =" + damage);
            }
            else if (attackRoll > 100)
            {
                damage = damage * 1.25f;
                print("This hit was a CRIT HIT. Damage * 1.25 = " + damage);
            }
            else
            {
                print("This hit was a NORMAL HIT. Damage = " + damage);
            }

            return(damage);
        }