Beispiel #1
0
    public bool ExecuteAttack(Vector3 tileCoords, int dmgMod, int rangeMod)
    {
        Transform target = TileSystem.ObjectAtTile(tileCoords);

        if (target != null && TileSystem.TileDistance(target.position, actorPosition.position) <= (range + rangeMod))
        {
            ICanBeDamaged victim = target.GetComponent <ICanBeDamaged>();
            if (victim != null)
            {
                victim.TakeDamage(damage + dmgMod);
                return(true);
            }
        }
        return(false);
    }
Beispiel #2
0
    public override bool ExecuteAttack(Vector3 tileCoords, int modifier)
    {
        Transform actorPosition = gameObject.transform;
        Transform target        = TileSystem.ObjectAtTile(tileCoords);

        if (target != null && TileSystem.TileDistance(target.position, actorPosition.position) <= range)
        {
            ICanBeDamaged victim = target.GetComponent <ICanBeDamaged>();
            if (victim != null)
            {
                victim.TakeDamage(damage * modifier);
                return(true);
            }
        }
        return(false);
    }