Ejemplo n.º 1
0
 public void ShowAttackTiles(MapTile startTile, WeaponSkill weapon, Faction faction, bool isDanger)
 {
     for (int i = 0; i < tiles.Length; i++)
     {
         int tempDist = DistanceTo(startTile, tiles[i]);
         if (weapon.InRange(tempDist))
         {
             if (isDanger)
             {
                 tiles[i].reachable = true;
             }
             else if (tiles[i].currentCharacter == null || tiles[i].currentCharacter.faction != faction)
             {
                 tiles[i].attackable = true;
             }
         }
     }
 }
Ejemplo n.º 2
0
    public bool CanAttack()
    {
        WeaponSkill weapon = GetWeapon();

        if (weapon == null)
        {
            return(false);
        }
        for (int i = 0; i < enemyList.values.Count; i++)
        {
            int distance = MapCreator.DistanceTo(this, enemyList.values[i]);
            if (weapon.InRange(distance))
            {
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 3
0
 public bool CheckRange(TacticsMove player, bool isAttack)
 {
     if (isAttack)
     {
         WeaponSkill weapon = player.GetWeapon();
         if (weapon == null)
         {
             return(false);
         }
         for (int i = 0; i < enemyList.values.Count; i++)
         {
             int distance = MapCreator.DistanceTo(player, enemyList.values[i]);
             if (weapon.InRange(distance))
             {
                 return(true);
             }
         }
     }
     else
     {
         SupportSkill support = player.GetSupport();
         if (support == null)
         {
             return(false);
         }
         for (int i = 0; i < playerList.values.Count; i++)
         {
             if (!playerList.values[i].IsInjured())
             {
                 continue;
             }
             int distance = MapCreator.DistanceTo(player, playerList.values[i]);
             if (support.InRange(distance))
             {
                 return(true);
             }
         }
     }
     return(false);
 }