Added move and attack actions that substract from unit's remaining actions

This commit is contained in:
vylion 2016-10-29 03:41:51 +02:00
parent 5952aedabe
commit 9b8f4bbe7f

View file

@ -35,6 +35,7 @@ public class UnitBehaviour : MonoBehaviour {
public int attackRange = 1; public int attackRange = 1;
public int attackArea = 1; public int attackArea = 1;
public int attackDamage = 1; public int attackDamage = 1;
public int attackActions = 2;
public Elemental attackElem = Elemental.None; public Elemental attackElem = Elemental.None;
public void SetupStats (int pX, int pZ, int actions = 2, int steps = 5, int p = 50, int crit = 10, int pRange = 20, int critRange = 10) { public void SetupStats (int pX, int pZ, int actions = 2, int steps = 5, int p = 50, int crit = 10, int pRange = 20, int critRange = 10) {
@ -55,13 +56,16 @@ public class UnitBehaviour : MonoBehaviour {
critChance = 0; critChance = 0;
} else } else
critChance = crit; critChance = crit;
remainingActions = actionsPerTurn;
} }
public void SetupBaseAttack (int r = 1, int a = 1, int d = 1, Elemental e = Elemental.None) { public void SetupBaseAttack (int r = 1, int a = 1, int d = 1, Elemental e = Elemental.None, int act = 2) {
attackRange = r; attackRange = r;
attackArea = a; attackArea = a;
attackDamage = d; attackDamage = d;
attackElem = e; attackElem = e;
attackActions = act;
} }
bool attackHit() { bool attackHit() {
@ -79,9 +83,27 @@ public class UnitBehaviour : MonoBehaviour {
health -= damage; health -= damage;
} }
public void moveAct() {
remainingActions -= 1;
if (remainingActions < 0)
remainingActions = 0;
}
public int attackAct() {
remainingActions -= attackActions;
if (remainingActions < 0)
remainingActions = 0;
int attack = 0;
if (attackHit ())
attack = attackDamage;
if (criticalHit ())
attack = Mathf.CeilToInt(attack * 1.5);
return attack;
}
// Use this for initialization // Use this for initialization
void Start () { void Start () {
remainingActions = actionsPerTurn;
} }
// Update is called once per frame // Update is called once per frame