Added health and attack damage to both enemy and party as well as basic output to determin who attacked, how much damage was given and how much health is left as well as a basic game over and victory state for when HP runs out for either side

This commit is contained in:
Gregory Campbell
2020-04-04 17:06:40 -04:00
parent 12d99405c1
commit d4a305b4dd
+71 -7
View File
@@ -10,7 +10,15 @@ public class GMScript : MonoBehaviour
public GameObject EnemyRobot; public GameObject EnemyRobot;
public GameObject Hit; public GameObject Hit;
public GameObject EnemyHit; public GameObject EnemyHit;
private bool noRepeat = true; private bool noRepeat = true;
private bool gameover = false;
private bool victory = false;
private int partyHealth = 16;
private int enemyHealth = 16;
private int partyAttack = 1;
private int enemyAttack = 4;
private int enemyColour = 0;
private static int partySize = 4; private static int partySize = 4;
private string[] PartyMemberOrder = new string[partySize]; private string[] PartyMemberOrder = new string[partySize];
private int[] OrderNumbers = new int[partySize]; private int[] OrderNumbers = new int[partySize];
@@ -46,8 +54,10 @@ public class GMScript : MonoBehaviour
} }
enemyColour = Random.Range(0, 12);
EnemyRobot.transform.GetComponent<SpriteRenderer>().color = EnemyRobot.transform.GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12)); SetColour(enemyColour);
} }
@@ -90,6 +100,32 @@ public class GMScript : MonoBehaviour
} }
} }
if(partyHealth <= 0 && gameover == false)
{
for(int i = 0; i < partySize; i++)
{
Destroy(GameObject.FindWithTag("Party"));
}
print("The Super Robo Squad has been destroyed! Try again!");
gameover = true;
}
if(enemyHealth <= 0 && victory == false)
{
Destroy(GameObject.FindWithTag("Enemy"));
print("The enemy robot has been destroyed! Congrats!");
victory = true;
}
} }
void CheckParty(GameObject member) void CheckParty(GameObject member)
@@ -220,6 +256,9 @@ public class GMScript : MonoBehaviour
//SETTING AND OUTPUT OF ROBOT COLOUR //SETTING AND OUTPUT OF ROBOT COLOUR
robotColour = (Colours)PartyColours[OrderNumbers[i]-1]; robotColour = (Colours)PartyColours[OrderNumbers[i]-1];
//print(robotColour); //print(robotColour);
//PARTY MEMEBER ATTACKING ENEMY
DamageParty(partyAttack, robotColour);
} }
// CLEAN UP IN CASE ANYTHING IS MISSED // CLEAN UP IN CASE ANYTHING IS MISSED
@@ -244,17 +283,17 @@ public class GMScript : MonoBehaviour
{ {
// RUNS ATTACK ANIMATION OF ENEMY // RUNS ATTACK ANIMATION OF ENEMY
Animator enemyAttack = EnemyRobot.transform.GetComponent<Animator>(); Animator enemyAttackAnim = EnemyRobot.transform.GetComponent<Animator>();
enemyAttack.SetTrigger("AttackTrigger"); enemyAttackAnim.SetTrigger("AttackTrigger");
yield return new WaitForSeconds( yield return new WaitForSeconds(
enemyAttack.GetCurrentAnimatorStateInfo(0).length enemyAttackAnim.GetCurrentAnimatorStateInfo(0).length
+enemyAttack.GetCurrentAnimatorStateInfo(0).normalizedTime); +enemyAttackAnim.GetCurrentAnimatorStateInfo(0).normalizedTime);
EnemyHit.transform.GetComponent<SpriteRenderer>().color = EnemyHit.transform.GetComponent<SpriteRenderer>().color =
EnemyRobot.transform.GetComponent<SpriteRenderer>().color; EnemyRobot.transform.GetComponent<SpriteRenderer>().color;
enemyAttack.SetTrigger("AttackTrigger"); enemyAttackAnim.SetTrigger("AttackTrigger");
EnemyHit.SetActive(true); EnemyHit.SetActive(true);
Animator hit = EnemyHit.transform.GetComponent<Animator>(); Animator hit = EnemyHit.transform.GetComponent<Animator>();
@@ -267,7 +306,32 @@ public class GMScript : MonoBehaviour
EnemyHit.SetActive(false); EnemyHit.SetActive(false);
hit.SetTrigger("HitTrigger"); hit.SetTrigger("HitTrigger");
//OUTPUT OF ENEMY ATTACK //ENEMY ATTACKING PARTY
DamageEnemy(enemyAttack, (Colours)enemyColour);
}
void DamageParty(int partyAttack, Colours partyMember)
{
int modifier = 1;
int modifiedAttack = partyAttack * modifier;
enemyHealth -= modifiedAttack;
print(partyMember + " robot attacked for " + modifiedAttack);
print("Enemy robot health is now: " + enemyHealth + " HP");
}
void DamageEnemy(int enemyAttack, Colours enemyColour)
{
int modifier = 1;
int modifiedAttack = enemyAttack * modifier;
partyHealth -= modifiedAttack;
print(enemyColour + " enemy robot attacked for " + modifiedAttack);
print("Party health is now: " + partyHealth + " HP");
} }