/// <summary> /// Addjusts the current health. /// </summary> /// <param name="adj">Adj.</param> /// <param name="type">Type.</param> public void AddjustCurrentHealth(int adj, string type) { GameObject[] Enemies = GameObject.FindGameObjectsWithTag("Enemy2"); constant = GameObject.FindGameObjectWithTag("Constant"); constantStored = constant.GetComponent<StoredInformation>(); player= GameObject.FindGameObjectsWithTag("Player2"); playerStored = player[constantStored.playerNumber-1].GetComponent<BattleAttackDisplay>(); /// <summary> /// Player information.cs /// Title: Hack & Slash RPG - A Unity3D Game Engine Tutorial | BurgZerg Arcade. [Online].; /// Author: Laliberte P. /// Date: 2013 October 24. /// Available from: http://www.burgzergarcade.com/hack-slash-rpg-unity3d-game-engine-tutorial /// inspired idea from tutorial but modified for my own use /// </summary> if(type=="plus"){ curHealth += adj; } if(type=="minus"){ curHealth -= adj; } if (curHealth <= 0){ Destroy(Enemies[playerStored.EnemyNumber]); } if (curHealth > maxHealth) curHealth = maxHealth; }
/// <summary> /// Addjusts the current health. /// </summary> /// <param name="adj">Adj.</param> /// <param name="type">Type.</param> public void AddjustCurrentHealth(int adj, string type) { GameObject[] Enemies = GameObject.FindGameObjectsWithTag("Enemy2"); constant = GameObject.FindGameObjectWithTag("Constant"); constantStored = constant.GetComponent <StoredInformation>(); player = GameObject.FindGameObjectsWithTag("Player2"); playerStored = player[constantStored.playerNumber - 1].GetComponent <BattleAttackDisplay>(); /// <summary> /// Player information.cs /// Title: Hack & Slash RPG - A Unity3D Game Engine Tutorial | BurgZerg Arcade. [Online].; /// Author: Laliberte P. /// Date: 2013 October 24. /// Available from: http://www.burgzergarcade.com/hack-slash-rpg-unity3d-game-engine-tutorial /// inspired idea from tutorial but modified for my own use /// </summary> if (type == "plus") { curHealth += adj; } if (type == "minus") { curHealth -= adj; } if (curHealth <= 0) { Destroy(Enemies[playerStored.EnemyNumber]); } if (curHealth > maxHealth) { curHealth = maxHealth; } }
// Update is called once per frame void Update() { enemyObjects = GameObject.FindGameObjectsWithTag("Enemy2"); if (enemyObjects.Length != 0) { GameObject constVar = GameObject.FindGameObjectWithTag("Constant"); StoredInformation stored = constVar.GetComponent <StoredInformation>(); int counter = stored.BattlePosition; MagicAttack pl; GameObject[] obj = GameObject.FindGameObjectsWithTag("Player2"); pl = obj[counter].GetComponent <MagicAttack>(); enemyObjects = GameObject.FindGameObjectsWithTag("Enemy2"); BattleAttackDisplay battleAttack = obj[counter].GetComponent <BattleAttackDisplay>(); funTimes = battleAttack.EnemyNumber; EnemyTarget = enemyObjects[funTimes]; if (EnemyTarget == null) { EnemyTarget = enemyObjects[funTimes + 1]; } if (attempt) { EnemyTarget = enemyObjects[funTimes]; EnemyHealth attackEnemy = EnemyTarget.GetComponent <EnemyHealth>(); attackType = battleAttack.attackType; if (attackType == "Fire") { initialiseParticles = Instantiate(particles[0], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Fire"; attackEnemy.AddjustCurrentHealth(stored._manaValue[0], "minus"); } if (attackType == "Wind") { initialiseParticles = Instantiate(particles[1], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Wind"; attackEnemy.AddjustCurrentHealth(stored._manaValue[1], "minus"); } if (attackType == "Ice") { initialiseParticles = Instantiate(particles[2], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Ice"; attackEnemy.AddjustCurrentHealth(stored._manaValue[2], "minus"); } if (attackType == "Water") { attackEnemy.AddjustCurrentHealth(stored._manaValue[3], "minus"); initialiseParticles = Instantiate(particles[3], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Water"; } if (attackType == "Lightning") { initialiseParticles = Instantiate(particles[4], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Lightning"; attackEnemy.AddjustCurrentHealth(stored._manaValue[4], "minus"); } pl.attempt = false; BattleTimeScript batTimeScript = obj[counter].GetComponent <BattleTimeScript>(); batTimeScript.timeToAttack1 = 0; animation.Play("idle"); } } }
// Update is called once per frame void Update() { enemyObjects = GameObject.FindGameObjectsWithTag("Enemy2"); if (enemyObjects.Length != 0) { GameObject constVar = GameObject.FindGameObjectWithTag("Constant"); StoredInformation stored = constVar.GetComponent <StoredInformation>(); int counter = stored.BattlePosition; PlayerAttack playerAttack; GameObject[] obj = GameObject.FindGameObjectsWithTag("Player2"); playerAttack = obj[counter].GetComponent <PlayerAttack>(); enemyObjects = GameObject.FindGameObjectsWithTag("Enemy2"); BattleAttackDisplay bat = obj[counter].GetComponent <BattleAttackDisplay>(); fighterNumber = bat.EnemyNumber; EnemyTarget = enemyObjects[fighterNumber]; if (EnemyTarget == null) { EnemyTarget = enemyObjects[fighterNumber + 1]; } if (characterTransform == null) { characterTransform = transform; } if (attemptAttack) { Quaternion rot; Vector3 lookRotate = EnemyTarget.transform.position - characterTransform.position; rot = Quaternion.Slerp(characterTransform.rotation, Quaternion.LookRotation(lookRotate), 3 * Time.deltaTime); characterTransform.rotation = rot; characterTransform = GameObject.FindGameObjectWithTag("Player2").transform; Vector3 charPosition = new Vector3(characterTransform.forward.x * 8 * Time.deltaTime, 0, characterTransform.forward.z * 8 * Time.deltaTime); characterTransform.position += charPosition; animation.Play("Run"); } if (Vector3.Distance(characterTransform.position, EnemyTarget.transform.position) <= 1) { EnemyTarget = enemyObjects[fighterNumber]; EnemyHealth attackEnemy = EnemyTarget.GetComponent <EnemyHealth>(); attackType = bat.attackType; if (attackType == "Attack") { attackEnemy.AddjustCurrentHealth(stored._attackValue[0], "minus"); } if (attackType == "FireAttack") { initialiseParticles = Instantiate(particles[0], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Fire"; attackEnemy.AddjustCurrentHealth(stored._attackValue[1], "minus"); } if (attackType == "IceAttack") { attackEnemy.AddjustCurrentHealth(stored._attackValue[2], "minus"); initialiseParticles = Instantiate(particles[1], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Ice"; } if (attackType == "LightningAttack") { initialiseParticles = Instantiate(particles[2], EnemyTarget.transform.position, Quaternion.identity) as GameObject; initialiseParticles.name = "Lightning"; attackEnemy.AddjustCurrentHealth(stored._attackValue[3], "minus"); } playerAttack.attemptAttack = false; GameObject[] atemptingChange = GameObject.FindGameObjectsWithTag("PlayerBattle"); obj[counter].transform.position = atemptingChange[counter].transform.position; BattleTimeScript batTimeScript = obj[counter].GetComponent <BattleTimeScript>(); batTimeScript.timeToAttack1 = 0; animation.Play("idle"); } } }