override public bool IsPossible() { // TODO: Rework this, it's ugly. We need to separate Governor vs Emperor scenarios. if (city.hasAction == false) { return(false); } else if (city.allegiance != leader.allegiance && city.allegiance != Allegiance.NONE) { return(false); } else if (!city.unitsForSale.Contains(troopClass)) { return(false); } else if (leader.gold < TroopStats.GetTroopStat(troopClass, Stat.COST)) { return(false); } else { return(true); } }