public Pest(Vector2 pos, HoeDirt hd) { this.pos = pos; this.hd = hd; /* * this.adjacentTiles.Add(new Vector2(pos.X - 1, pos.Y)); * this.adjacentTiles.Add(new Vector2(pos.X - 1, pos.Y - 1)); * this.adjacentTiles.Add(new Vector2(pos.X - 1, pos.Y + 1)); * this.adjacentTiles.Add(new Vector2(pos.X, pos.Y - 1)); * this.adjacentTiles.Add(new Vector2(pos.X, pos.Y + 1)); * this.adjacentTiles.Add(new Vector2(pos.X + 1, pos.Y)); * this.adjacentTiles.Add(new Vector2(pos.X + 1, pos.Y - 1)); * this.adjacentTiles.Add(new Vector2(pos.X + 1, pos.Y + 1)); */ this.adjacentTiles = ModComponent.GetAdjacentTiles(pos); bfList = new List <PestFly>(); bfList.Add(new PestFly(pos)); if (Pests.CheckChance(50)) { bfList.Add(new PestFly(pos)); } if (Pests.CheckChance(50)) { bfList.Add(new PestFly(pos)); } //ModEntry.GetMonitor().Log("pos is " + pos + " and pestfly pos is" + pos * Game1.tileSize); }
public List <Pest> InfestAdjacent(double chance) { List <Pest> pests = new List <Pest>(); foreach (KeyValuePair <Vector2, TerrainFeature> pair in GetAdjacentCrops()) { if (pair.Key is Vector2 vec && pair.Value is HoeDirt hd && Pests.CheckChance(chance)) { Pest pest = Pests.TryInfestCrop(vec, hd); if (pest != null) { ModEntry.GetMonitor().Log("Infested adjacent crop at " + vec, LogLevel.Trace); pests.Add(pest); } } } return(pests); }