public IEnumerable <Thing> ColonyThingsWillingToBuy(Pawn playerNegotiator) { List <Thing> thingsWillingToBuy = new List <Thing>(); foreach (Thing thing in TradeUtility.AllLaunchableThings(this.Map)) { thingsWillingToBuy.Add(thing); } foreach (IntVec3 cell in this.OccupiedRect().Cells) { foreach (Thing thing in cell.GetThingList(this.Map)) { if ((TradeUtility.EverTradeable(thing.def)) && this.TraderKind.WillTrade(thing.def) && (thingsWillingToBuy.Contains(thing) == false)) // Do not count thing twice. { thingsWillingToBuy.Add(thing); } } } return(thingsWillingToBuy); }