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