diff --git a/Assets/Scripts/Enemy/EnemyAttack.cs b/Assets/Scripts/Enemy/EnemyAttack.cs index bb9e7e47a637ce97b17a81ba865563e66bf9f2eb..e46f375611fa6c339a37497ced3e6d7dc6749e51 100644 --- a/Assets/Scripts/Enemy/EnemyAttack.cs +++ b/Assets/Scripts/Enemy/EnemyAttack.cs @@ -25,13 +25,13 @@ namespace Nightmare bool goodPetInRange; float timer; - void Awake () + void Awake() { // Setting up the references. - player = GameObject.FindGameObjectWithTag ("Player"); - playerHealth = player.GetComponent <PlayerHealth> (); + player = GameObject.FindGameObjectWithTag("Player"); + playerHealth = player.GetComponent<PlayerHealth>(); enemyHealth = GetComponent<EnemyHealth>(); - anim = GetComponent <Animator> (); + anim = GetComponent<Animator>(); Transform swingingSword = transform.Find("Sword"); if (swingingSword != null) { @@ -51,33 +51,34 @@ namespace Nightmare StopPausible(); } - void OnTriggerEnter (Collider other) + void OnTriggerEnter(Collider other) { // If the entering collider is the player... - if(other.gameObject == player) + if (other.gameObject == player) { // ... the player is in range. playerInRange = true; } - else if(other.gameObject.CompareTag("Healer") || other.gameObject.CompareTag("Fighter")) + else if (other.gameObject.CompareTag("PetHealer") || other.gameObject.CompareTag("PetFighter")) { goodPetInRange = true; petObject = other.gameObject; petObjectHealth = petObject.GetComponent<PetHealth>(); } - + } - void OnTriggerExit (Collider other) + void OnTriggerExit(Collider other) { // If the exiting collider is the player... - if(other.gameObject == player) + if (other.gameObject == player) { // ... the player is no longer in range. playerInRange = false; } - else if(other.gameObject.CompareTag("Healer") || other.gameObject.CompareTag("Fighter")){ + else if (other.gameObject.CompareTag("PetHealer") || other.gameObject.CompareTag("PetFighter")) + { goodPetInRange = false; petObject = null; petObjectHealth = null; @@ -85,18 +86,18 @@ namespace Nightmare } void findNearbyPet() { - GameObject[] goodPets = GameObject.FindGameObjectsWithTag("Healer"); - GameObject[] fighter = GameObject.FindGameObjectsWithTag("Fighter"); + GameObject[] goodPets = GameObject.FindGameObjectsWithTag("PetHealer"); + GameObject[] fighter = GameObject.FindGameObjectsWithTag("PetFighter"); goodPets = goodPets.Concat(fighter).ToArray(); float shortestDistance; float temp; - if(goodPets.Length > 0) + if (goodPets.Length > 0) { shortestDistance = Vector3.Distance(transform.position, goodPets[0].GetComponent<Transform>().position); - foreach(GameObject pet in goodPets) + foreach (GameObject pet in goodPets) { temp = Vector3.Distance(transform.position, pet.GetComponent<Transform>().position); - if(temp < shortestDistance) + if (temp < shortestDistance) { shortestDistance = temp; petObject = pet; @@ -105,10 +106,10 @@ namespace Nightmare } } } - + } - void Update () + void Update() { if (isPaused) return; @@ -118,7 +119,7 @@ namespace Nightmare timer += Time.deltaTime; // If the timer exceeds the time between attacks, the player is in range and this enemy is alive... - if(timer >= timeBetweenAttacks && enemyHealth.CurrentHealth() > 0) + if (timer >= timeBetweenAttacks && enemyHealth.CurrentHealth() > 0) { // ... attack. if (shotgunEnemyShooting) @@ -128,25 +129,25 @@ namespace Nightmare } else if (playerInRange || goodPetInRange) SwordAttack(); - - + + } // If the player has zero or less health... - if(playerHealth.currentHealth <= 0) + if (playerHealth.currentHealth <= 0) { // ... tell the animator the player is dead. - anim.SetTrigger ("PlayerDead"); + anim.SetTrigger("PlayerDead"); } } - void ShotgunAttack () + void ShotgunAttack() { // Reset the timer. timer = 0f; float distanceToPlayer = Vector3.Distance(transform.position, player.transform.position); float distanceToPet; - + if (distanceToPlayer < 10) { // If the player has health to lose... @@ -159,16 +160,16 @@ namespace Nightmare shotgunEnemyShooting.Shoot(attackDamage); } } - else if(petObject != null) + else if (petObject != null) { distanceToPet = Vector3.Distance(transform.position, petObject.transform.position); if (petObject.GetComponent<PetHealth>().currentHealth > 0 && distanceToPet < 10) { transform.LookAt(petObject.transform.position); - shotgunEnemyShooting.Shoot(attackDamage); + shotgunEnemyShooting.Shoot(attackDamage); } } - + } @@ -188,12 +189,12 @@ namespace Nightmare if (swordAudio) swordAudio.Play(); playerHealth.TakeDamage(attackDamage); } - //If the pet has health to lose + //If the pet has health to lose } - else if(petObjectHealth != null && petObjectHealth.currentHealth > 0) + else if (petObjectHealth != null && petObjectHealth.currentHealth > 0) { // and in range - if (goodPetInRange) + if (goodPetInRange) { if (swordAnim) swordAnim.SetTrigger("Attack"); if (swordAudio) swordAudio.Play(); diff --git a/Assets/Scripts/Enemy/JenderalAbility.cs b/Assets/Scripts/Enemy/JenderalAbility.cs index 94409326d83dd026d92de8b051e78f9475ef8753..246f6b293cfe8eb1f552fa02c20f80d7e39c27fd 100644 --- a/Assets/Scripts/Enemy/JenderalAbility.cs +++ b/Assets/Scripts/Enemy/JenderalAbility.cs @@ -35,7 +35,7 @@ public class JenderalAbility : MonoBehaviour CheckPetInRange(); timer += Time.deltaTime; - if (timer >= 1 && (playerInRange || petInRange)) + if (timer >= 1 && (playerInRange || petInRange)) { Ability(); } @@ -49,8 +49,8 @@ public class JenderalAbility : MonoBehaviour { GameObject[] goodPets; GameObject[] fighter; - goodPets = GameObject.FindGameObjectsWithTag("Healer"); - fighter = GameObject.FindGameObjectsWithTag("Fighter"); + goodPets = GameObject.FindGameObjectsWithTag("PetHealer"); + fighter = GameObject.FindGameObjectsWithTag("PetFighter"); goodPets = goodPets.Concat(fighter).ToArray(); float shortestDistance; float temp; @@ -92,7 +92,7 @@ public class JenderalAbility : MonoBehaviour private void CheckPetInRange() { findNearbyPet(); - if(petObject != null) + if (petObject != null) { float distance = Mathf.Sqrt(Mathf.Pow(transform.position.x - petObject.transform.position.x, 2) + Mathf.Pow(transform.position.y - petObject.transform.position.y, 2) + @@ -130,10 +130,11 @@ public class JenderalAbility : MonoBehaviour playerHealth.TakeDamage(damageOvertime); } // if the pet in range - }else if (petInRange) + } + else if (petInRange) { // if the pet has health to lose - if(petObjectHealth.currentHealth > 0) + if (petObjectHealth.currentHealth > 0) { // ... damage the pet petObjectHealth.TakeDamage(damageOvertime); diff --git a/Assets/Scripts/Enemy/RajaAbility.cs b/Assets/Scripts/Enemy/RajaAbility.cs index 07b7ec629723217b428dc4b40a7cd3c1d7cf37e8..eaaad180e1e623858517b394ec108b62dd148796 100644 --- a/Assets/Scripts/Enemy/RajaAbility.cs +++ b/Assets/Scripts/Enemy/RajaAbility.cs @@ -81,8 +81,8 @@ public class RajaAbility : MonoBehaviour void findNearbyPet() { - GameObject[] goodPets = GameObject.FindGameObjectsWithTag("Healer"); - GameObject[] fighter = GameObject.FindGameObjectsWithTag("Fighter"); + GameObject[] goodPets = GameObject.FindGameObjectsWithTag("PetHealer"); + GameObject[] fighter = GameObject.FindGameObjectsWithTag("PetFighter"); goodPets = goodPets.Concat(fighter).ToArray(); float shortestDistance; float temp; @@ -106,7 +106,7 @@ public class RajaAbility : MonoBehaviour private void CheckPetInRange() { findNearbyPet(); - if(petObject != null) + if (petObject != null) { float distance = Mathf.Sqrt(Mathf.Pow(transform.position.x - petObject.transform.position.x, 2) + Mathf.Pow(transform.position.y - petObject.transform.position.y, 2) + diff --git a/Assets/Scripts/Pet/FighterMove.cs b/Assets/Scripts/Pet/FighterMove.cs index 76aa15624684556c2e99606652efdea1e003953d..3a16f6a4447c1da5aec8f972176270be1e4ca1b1 100644 --- a/Assets/Scripts/Pet/FighterMove.cs +++ b/Assets/Scripts/Pet/FighterMove.cs @@ -53,8 +53,12 @@ public class FighterMove : MonoBehaviour else { findNearbyEnermy(); - pet.SetDestination(target.transform.position); - previousTarget = target; + if(target != null) + { + pet.SetDestination(target.transform.position); + previousTarget = target; + } + } } diff --git a/Assets/Scripts/Pet/GoodPetHealth.cs b/Assets/Scripts/Pet/GoodPetHealth.cs index 1d08801fa5e3bf89a7006914bb3f9f4a06c8e332..c90b7fbfa88659878ad2daf094c6884ec3c43a39 100644 --- a/Assets/Scripts/Pet/GoodPetHealth.cs +++ b/Assets/Scripts/Pet/GoodPetHealth.cs @@ -17,8 +17,7 @@ public class PetHealth : MonoBehaviour void Start() { - GameObject player = GameObject.FindGameObjectWithTag ("Player"); - playerHealth = player.GetComponent<PlayerHealth>(); + playerHealth = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerHealth>(); anim = GetComponent<Animator>(); }