void createTiles() { Debug.Log("Creating attack tiles"); attackField = Board.instance.getNodesAdjacent(caster.transform.position); foreach (Node node in attackField) { if (!node.obstruction) { continue; } //HACK: design a better check than maxvalue? int damage = int.MaxValue; damage = CombatDamageLookupTable.Lookup(caster.name, node.obstruction.name); if (damage == int.MaxValue) { continue; } var tmp = node.obstruction; if (tmp != null) { node.tile.subscribe(this); } } }
public override IEnumerator execute() { Debug.LogWarning("WARNING: BULLSHIT PLACEHOLDER COMBAT HAPPENING BETWEEN " + caster.name + " , " + target.name); int damage = CombatDamageLookupTable.Lookup(caster.name, target.name); var targetSquad = target.GetComponent <SquadInstance>(); targetSquad.health -= damage; cleanup(); caster.deselect(); if (targetSquad.health > 0) { Debug.Log("Finished Attacking. " + target.name + " health is now " + targetSquad.health + ". Dealt " + damage + " damage."); } else { Debug.Log("BAYUM. ULTRA KILLLL!"); } yield return(null); //new WaitForSeconds( 1f ); }