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; } } } }
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); }
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); }