public static List <CoverInfo> CalculateCoverGiverSet(IntVec3 targetLoc, IntVec3 shooterLoc, Map map) { List <CoverInfo> list = new List <CoverInfo>(); for (int i = 0; i < 8; i++) { IntVec3 intVec = targetLoc + GenAdj.AdjacentCells[i]; CoverInfo item = default(CoverInfo); if (intVec.InBounds(map) && CoverUtility.TryFindAdjustedCoverInCell(shooterLoc, targetLoc, intVec, map, out item)) { list.Add(item); } } return(list); }
public static float CalculateOverallBlockChance(IntVec3 targetLoc, IntVec3 shooterLoc, Map map) { float num = 0f; for (int i = 0; i < 8; i++) { IntVec3 intVec = targetLoc + GenAdj.AdjacentCells[i]; CoverInfo coverInfo = default(CoverInfo); if (intVec.InBounds(map) && CoverUtility.TryFindAdjustedCoverInCell(shooterLoc, targetLoc, intVec, map, out coverInfo)) { num = (float)(num + (1.0 - num) * coverInfo.BlockChance); } } return(num); }
public static float CalculateOverallBlockChance(LocalTargetInfo target, IntVec3 shooterLoc, Map map) { IntVec3 cell = target.Cell; float num = 0f; for (int i = 0; i < 8; i++) { IntVec3 intVec = cell + GenAdj.AdjacentCells[i]; if (intVec.InBounds(map)) { CoverInfo coverInfo; if (CoverUtility.TryFindAdjustedCoverInCell(shooterLoc, target, intVec, map, out coverInfo)) { num += (1f - num) * coverInfo.BlockChance; } } } return(num); }
public static List <CoverInfo> CalculateCoverGiverSet(LocalTargetInfo target, IntVec3 shooterLoc, Map map) { IntVec3 cell = target.Cell; List <CoverInfo> list = new List <CoverInfo>(); for (int i = 0; i < 8; i++) { IntVec3 intVec = cell + GenAdj.AdjacentCells[i]; if (intVec.InBounds(map)) { CoverInfo item; if (CoverUtility.TryFindAdjustedCoverInCell(shooterLoc, target, intVec, map, out item) && item.BlockChance > 0f) { list.Add(item); } } } return(list); }