def ScorePanGalacticHologrid(card): if card == "Expanding Colony": return 2 if DeckInfo.GoodType(card) == NOVELTY: return 2 if DeckInfo.CardIsWorld(card): return 1 return 0
def ScoreFor6Dev(self, card): score = 0 gal_ex_types = 0 mil_worlds_bonus = 0 if card == 'Galactic Renaissance': score += self.vp / 3 elif card == 'Pan-Galactic Affluence': score += self.prestige elif card == 'Galactic Exchange': good_types = set() for other_card in self.card_list: good_types.add(DeckInfo.GoodType(other_card)) gal_ex_types = len(good_types - set([NO_GOOD])) #print 'num good types = ', gal_ex_types elif card == 'New Galactic Order': if 'Hidden Fortress' in self.card_list: for other_card in self.card_list: mil_worlds_bonus += DeckInfo.IsMilWorld(other_card) if 'Rebel Freedom Fighters' in self.card_list: imp = False for card in self.card_list: if 'Imperium' in card: imp = True break if imp: score -= 2 elif card == 'Universal Peace Institute': if 'Hidden Fortress' in self.card_list: for other_card in self.card_list: mil_worlds_bonus -= DeckInfo.IsMilWorld(other_card) if 'Rebel Freedom Fighters' in self.card_list: imp = False for card in self.card_list: if 'Imperium' in card: imp = True break if imp: score += 2 score += gal_ex_types * (gal_ex_types + 1) / 2 score += mil_worlds_bonus table_for_this_dev = _six_dev_score_table[card] for other_card in self.card_list: score += table_for_this_dev[other_card] #if other_card != card: # self.bonus_points_per_card[other_card] += bonus if not card in self.card_list: score += table_for_this_dev[card] return score
def ScoreGalacticGenomeProject(card): if card == 'Genetics Lab': return 3 return 2 * (DeckInfo.GoodType(card) == GENES)
def ScoreFreeTradeAssociation(card): if card in ['Consumer Markets', 'Expanding Colony']: return 2 if DeckInfo.GoodType(card) == NOVELTY: return 1 + (DeckInfo.ProductionPower(card) == PRODUCTION) return 0
def ScoreProspectingGuild(card): if DeckInfo.GoodType(card) == RARE: return 2 if 'Terraforming' in DeckInfo.Keywords(card): return 1 return DeckInfo.CardIsWorld(card)
def ScorePanGalacticLeague(card): if card == 'Contact Specialist': return 3 if DeckInfo.GoodType(card) == GENES: return 2 return DeckInfo.IsMilWorld(card)
def ScoreMiningLeague(card): if card in ['Mining Conglomerate', 'Mining Robots']: return 2 return (DeckInfo.GoodType(card) == RARE) * ( (DeckInfo.ProductionPower(card) == PRODUCTION) + 1)