Exemple #1
0
    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);
            }
        }
    }
Exemple #2
0
    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 );
    }