Esempio n. 1
0
def getHoverText(eWidgetType, iData1, iData2, bOption):
    city, iTurns = getDisplayCity()
    if (not city):
        # no rate or progress in any city and no city selected
        return BugUtil.getText(
            "TXT_KEY_MISC_GREAT_PERSON",
            (0, PlayerUtil.getActivePlayer().greatPeopleThreshold(False)))
    iThreshold = gc.getPlayer(city.getOwner()).greatPeopleThreshold(False)
    iProgress = city.getGreatPeopleProgress()
    iRate = city.getGreatPeopleRate()
    szText = BugUtil.colorText(city.getName(), "COLOR_HIGHLIGHT_TEXT")
    szText += u"\n"
    szText += BugUtil.getText("TXT_KEY_MISC_GREAT_PERSON",
                              (iProgress, iThreshold))
    if (iRate > 0):
        szText += u"\n%d%s%s " % (iRate, g_gpIcon,
                                  BugUtil.getPlainText("TXT_KEY_PER_TURN"))
        szText += BugUtil.getText("INTERFACE_CITY_TURNS", (iTurns, ))

    percents = calcPercentages(city)
    if (len(percents) > 0):
        percents.sort()
        percents.reverse()
        szText += u"\n"
        for iPercent, iUnit in percents:
            #			iUnit = getUnitType(gpType)
            szText += u"\n%s%s - %d%%" % (getUnitIcon(
                iUnit), gc.getUnitInfo(iUnit).getDescription(), iPercent)
    return szText
Esempio n. 2
0
def init():
    """
    Initializes the strings used to display the scoreboard.
    """
    global columns

    # Used keys:
    # ABCDEFGHIKLMNOPQRSTUVWZ*?
    # GJXY
    columns.append(Column('', ALIVE))
    columns.append(Column('S', SCORE, DYNAMIC))
    columns.append(Column('Z', SCORE_DELTA, DYNAMIC))
    columns.append(Column('K', RANK, DYNAMIC))
    columns.append(Column('I', ID, DYNAMIC))
    columns.append(Column('V', MASTER, DYNAMIC))
    columns.append(Column('C', NAME, DYNAMIC))
    columns.append(Column('?', NOT_MET, FIXED, smallText("?")))
    columns.append(Column('W', WAR, DYNAMIC))
    columns.append(
        Column('G', GWAR, FIXED,
               "(" + BugUtil.colorText("WAR", "COLOR_RED") + ")"))
    columns.append(Column('P', POWER, DYNAMIC))
    columns.append(Column('T', RESEARCH, SPECIAL))
    columns.append(Column('U', RESEARCH_TURNS, DYNAMIC))
    columns.append(
        Column('E', ESPIONAGE, FIXED,
               smallSymbol(FontSymbols.COMMERCE_ESPIONAGE_CHAR)))
    columns.append(
        Column('N', TRADE, FIXED, smallSymbol(FontSymbols.TRADE_CHAR)))
    columns.append(
        Column('B', BORDERS, FIXED,
               smallSymbol(FontSymbols.OPEN_BORDERS_CHAR)))
    columns.append(
        Column('D', PACT, FIXED, smallSymbol(FontSymbols.DEFENSIVE_PACT_CHAR)))
    columns.append(Column('R', RELIGION, DYNAMIC))
    columns.append(Column('A', ATTITUDE, DYNAMIC))
    columns.append(Column('F', WONT_TALK, FIXED, smallText("!")))
    columns.append(
        Column('H', WORST_ENEMY, FIXED,
               smallSymbol(FontSymbols.ANGRY_POP_CHAR)))
    columns.append(
        Column('M', WHEOOH, FIXED, smallSymbol(FontSymbols.OCCUPATION_CHAR)))
    columns.append(Column('Q', CITIES, DYNAMIC))
    columns.append(Column('*', WAITING, FIXED, smallText("*")))
    columns.append(Column('L', NET_STATS, DYNAMIC))
    columns.append(Column('O', OOS, DYNAMIC))

    global WAR_ICON, PEACE_ICON
    WAR_ICON = smallSymbol(FontSymbols.WAR_CHAR)
    PEACE_ICON = smallSymbol(FontSymbols.PEACE_CHAR)

    global MASTER_ICON, ACTIVE_MASTER_ICON
    MASTER_ICON = smallSymbol(FontSymbols.SILVER_STAR_CHAR)
    ACTIVE_MASTER_ICON = smallSymbol(FontSymbols.STAR_CHAR)

    global VASSAL_PREFIX, VASSAL_POSTFIX
    VASSAL_PREFIX = smallSymbol(FontSymbols.BULLET_CHAR)
    VASSAL_POSTFIX = smallText(u" %s" %
                               FontUtil.getChar(FontSymbols.BULLET_CHAR))
Esempio n. 3
0
def getAttitudeText(nPlayer, nTarget, bNumber, bSmily, bWorstEnemy, bWarPeace,
                    bWarTrades):  # advc.152: bWarTrades added
    """Returns a string describing the attitude nPlayer has toward nTarget."""
    nAttitude = getAttitudeCount(nPlayer, nTarget)
    if nAttitude == None:
        return None

    szText = []
    if bSmily:
        szText.append(getAttitudeIcon(nPlayer, nTarget))
    if bNumber:
        szText.append(
            BugUtil.colorText(u"%+d" % nAttitude,
                              getAttitudeColor(nPlayer, nTarget)))

    szIcons = u""
    pPlayer = gc.getPlayer(nPlayer)
    pTarget = gc.getPlayer(nTarget)
    if bWorstEnemy and isWorstEnemy(pPlayer, pTarget):
        szIcons += FontUtil.getChar("angrypop")
    # <advc.152>
    bPeace = False
    # Moved from the bWarPeace branch:
    nTeam = pPlayer.getTeam()
    pTeam = gc.getTeam(nTeam)
    nTargetTeam = pTarget.getTeam()
    pTargetTeam = gc.getTeam(nTargetTeam)
    # </advc.152>
    if bWarPeace:
        if pTeam.isAtWar(nTargetTeam):
            szIcons += FontUtil.getChar("war")
        elif gc.getGame().getActiveTeam() in (nTeam, nTargetTeam):
            bPeace = False
            if pTeam.isForcePeace(nTargetTeam):
                bPeace = True
            elif pTargetTeam.isAVassal():
                for nOwnerTeam in range(gc.getMAX_TEAMS()):
                    if pTargetTeam.isVassal(nOwnerTeam) and pTeam.isForcePeace(
                            nOwnerTeam):
                        bPeace = True
                        break
            if bPeace:
                szIcons += FontUtil.getChar("peace")
    # <advc.152>
    if bWarTrades and not bPeace and nTargetTeam != gc.getGame().getActiveTeam(
    ) and nTeam != gc.getGame().getActiveTeam(
    ) and nTeam != nTargetTeam and not pTeam.isAtWar(
            nTargetTeam) and not pTeam.isHuman() and pTeam.AI_declareWarTrade(
                nTargetTeam,
                gc.getGame().getActiveTeam()) == -1:
        szIcons += FontUtil.getChar("occupation")
    # </advc.152>
    if szIcons:
        szText.append(szIcons)

    return u" ".join(szText)
Esempio n. 4
0
	def assignRanks(self):
		"""Assigns a rank from 1 to N based on score.
		As the player scores are currently reversed, this is done in reverse order."""
		rank = 0
		for playerScore in reversed(self._playerScores):
			if not playerScore.has(NOT_MET) or not playerScore.value(NOT_MET):
				rank += 1
				playerScore.set(RANK, smallText(BugUtil.colorText(u"%d" % rank, ScoreOpt.getRankColor())))
		if rank > 0:
			self._anyHas[RANK] = True
    def getText(self, bNumber, bSmily, bWorstEnemy, bWarPeace):
        """ Returns a string describing the attitude this player has toward target. """
        if self.bHasActiveMetBoth:
            nAttitude = self.getCount()

            if bNumber:
                szText = str(nAttitude)
                if nAttitude > 0:
                    szText = "+" + szText
                if bSmily:
                    szText = "[" + szText + "] "
                else:
                    szText = "<font=3>   " + szText + "</font> "
            else:
                szText = ""

            iColor = self.getColor()
            szText = BugUtil.colorText(szText, iColor)
            if bSmily:
                szText = self.getIcon() + " " + szText

            pThisPlayer = gc.getPlayer(self.iThisPlayer)
            pTargetPlayer = gc.getPlayer(self.iTargetPlayer)
            if bWorstEnemy and isWorstEnemy(pThisPlayer, pTargetPlayer):
                szText += u"%c" % (CyGame().getSymbolID(
                    FontSymbols.ANGRY_POP_CHAR))

            if bWarPeace:
                iThisTeam = pThisPlayer.getTeam()
                pThisTeam = gc.getTeam(iThisTeam)
                iTargetTeam = pTargetPlayer.getTeam()
                pTargetTeam = gc.getTeam(iTargetTeam)
                if pThisTeam.isAtWar(iTargetTeam):
                    szText += u"%c" % (gc.getCommerceInfo(
                        CommerceTypes.COMMERCE_GOLD).getChar() + 25)
                elif gc.getGame().getActiveTeam() in (iThisTeam, iTargetTeam):
                    bPeace = False
                    if pThisTeam.isForcePeace(iTargetTeam):
                        bPeace = True
                    elif pTargetTeam.isAVassal():
                        for iOwnerTeam in range(gc.getMAX_TEAMS()):
                            if pTargetTeam.isVassal(
                                    iOwnerTeam) and pThisTeam.isForcePeace(
                                        iOwnerTeam):
                                bPeace = True
                                break
                    if bPeace:
                        szText += u"%c" % (gc.getCommerceInfo(
                            CommerceTypes.COMMERCE_GOLD).getChar() + 26)

            return szText
        return ""
Esempio n. 6
0
def getAttitudeText (nPlayer, nTarget, bNumber, bSmily, bWorstEnemy, bWarPeace):
	"""Returns a string describing the attitude nPlayer has toward nTarget."""
	nAttitude = getAttitudeCount (nPlayer, nTarget)
	if nAttitude == None:
		return None
	
	if bNumber:
		szText = str (nAttitude)
		if nAttitude > 0:
			szText = "+" + szText
		if bSmily:
			szText = "[" + szText + "] "
		else:
			szText = "<font=3>   " + szText + "</font> "
	else:
		szText = ""
	
	iColor = getAttitudeColor (nPlayer, nTarget)
	szText = BugUtil.colorText(szText, iColor)
	
	if bSmily:
		szText = getAttitudeIcon(nPlayer, nTarget) + " " + szText
	
	pPlayer = gc.getPlayer(nPlayer)
	pTarget = gc.getPlayer(nTarget)
	if bWorstEnemy:
		szWorstEnemy = pPlayer.getWorstEnemyName()
		if szWorstEnemy and pTarget.getName() == szWorstEnemy:
			szText +=  u"%c" %(CyGame().getSymbolID(FontSymbols.ANGRY_POP_CHAR))
	
	if bWarPeace:
		nTeam = pPlayer.getTeam()
		pTeam = gc.getTeam(nTeam)
		nTargetTeam = pTarget.getTeam()
		pTargetTeam = gc.getTeam(nTargetTeam)
		if pTeam.isAtWar(nTargetTeam):
			szText += u"%c" % (gc.getCommerceInfo(CommerceTypes.COMMERCE_GOLD).getChar() + 25)
		elif gc.getGame().getActiveTeam() in (nTeam, nTargetTeam):
			bPeace = False
			if pTeam.isForcePeace(nTargetTeam):
				bPeace = True
			elif pTargetTeam.isAVassal():
				for nOwnerTeam in range(gc.getMAX_TEAMS()):
					if pTargetTeam.isVassal(nOwnerTeam) and pTeam.isForcePeace(nOwnerTeam):
						bPeace = True
						break
			if bPeace:
				szText += u"%c" % (gc.getCommerceInfo(CommerceTypes.COMMERCE_GOLD).getChar() + 26)
	
	return szText
Esempio n. 7
0
	def assignRanks(self):
		"""
		Assigns a rank from 1 to N based on score.
		As the player scores are currently reversed, this is done in reverse order.
		"""
		rank = 0
		scores = list(self._playerScores)
		scores.reverse()
		for playerScore in scores:
			if not playerScore.has(NOT_MET) or not playerScore.value(NOT_MET):
				rank += 1
				playerScore.set(RANK, smallText(BugUtil.colorText(u"%d" % rank, ScoreOpt.getRankColor())))
		if rank > 0:
			self._anyHas[RANK] = True
Esempio n. 8
0
	def getText (self, bNumber, bSmily, bWorstEnemy, bWarPeace):
		""" Returns a string describing the attitude this player has toward target. """
		if self.bHasActiveMetBoth:
			nAttitude = self.getCount()

			if bNumber:
				szText = str (nAttitude)
				if nAttitude > 0:
					szText = "+" + szText
				if bSmily:
					szText = "[" + szText + "] "
				else:
					szText = "<font=3>   " + szText + "</font> "
			else:
				szText = ""

			iColor = self.getColor()
			szText = BugUtil.colorText(szText, iColor)
			if bSmily:
				szText = self.getIcon() + " " + szText

			pThisPlayer = gc.getPlayer(self.iThisPlayer)
			pTargetPlayer = gc.getPlayer(self.iTargetPlayer)
			if bWorstEnemy:
				szWorstEnemy = pThisPlayer.getWorstEnemyName()
				if szWorstEnemy and pTargetPlayer.getName() == szWorstEnemy:
					szText +=  u"%c" %(CyGame().getSymbolID(FontSymbols.ANGRY_POP_CHAR))

			if bWarPeace:
				iThisTeam = pThisPlayer.getTeam()
				pThisTeam = gc.getTeam(iThisTeam)
				iTargetTeam = pTargetPlayer.getTeam()
				pTargetTeam = gc.getTeam(iTargetTeam)
				if pThisTeam.isAtWar(iTargetTeam):
					szText += u"%c" % (gc.getCommerceInfo(CommerceTypes.COMMERCE_GOLD).getChar() + 25)
				elif gc.getGame().getActiveTeam() in (iThisTeam, iTargetTeam):
					bPeace = False
					if pThisTeam.isForcePeace(iTargetTeam):
						bPeace = True
					elif pTargetTeam.isAVassal():
						for iOwnerTeam in range(gc.getMAX_TEAMS()):
							if pTargetTeam.isVassal(iOwnerTeam) and pThisTeam.isForcePeace(iOwnerTeam):
								bPeace = True
								break
					if bPeace:
						szText += u"%c" % (gc.getCommerceInfo(CommerceTypes.COMMERCE_GOLD).getChar() + 26)
		
			return szText
		return ""
def getAttitudeText(nPlayer, nTarget, bNumber, bSmily, bWorstEnemy, bWarPeace):
    """Returns a string describing the attitude nPlayer has toward nTarget."""
    nAttitude = getAttitudeCount(nPlayer, nTarget)
    if nAttitude == None:
        return None

    szText = []
    if bSmily:
        szText.append(getAttitudeIcon(nPlayer, nTarget))
    if bNumber:
        szText.append(
            BugUtil.colorText(u"%+d" % nAttitude,
                              getAttitudeColor(nPlayer, nTarget)))

    szIcons = u""
    pPlayer = gc.getPlayer(nPlayer)
    pTarget = gc.getPlayer(nTarget)
    if bWorstEnemy and isWorstEnemy(pPlayer, pTarget):
        szIcons += FontUtil.getChar("angrypop")

    if bWarPeace:
        nTeam = pPlayer.getTeam()
        pTeam = gc.getTeam(nTeam)
        nTargetTeam = pTarget.getTeam()
        pTargetTeam = gc.getTeam(nTargetTeam)
        if pTeam.isAtWar(nTargetTeam):
            szIcons += FontUtil.getChar("war")
        elif gc.getGame().getActiveTeam() in (nTeam, nTargetTeam):
            bPeace = False
            if pTeam.isForcePeace(nTargetTeam):
                bPeace = True
            elif pTargetTeam.isAVassal():
                for nOwnerTeam in range(gc.getMAX_TEAMS()):
                    if pTargetTeam.isVassal(nOwnerTeam) and pTeam.isForcePeace(
                            nOwnerTeam):
                        bPeace = True
                        break
            if bPeace:
                szIcons += FontUtil.getChar("peace")
    if szIcons:
        szText.append(szIcons)

    return u" ".join(szText)
def getAttitudeText (nPlayer, nTarget, bNumber, bSmily, bWorstEnemy, bWarPeace):
	"""Returns a string describing the attitude nPlayer has toward nTarget."""
	nAttitude = getAttitudeCount (nPlayer, nTarget)
	if nAttitude == None:
		return None
	
	szText = []
	if bSmily:
		szText.append(getAttitudeIcon(nPlayer, nTarget))
	if bNumber:
		szText.append(BugUtil.colorText(u"%+d" % nAttitude, getAttitudeColor(nPlayer, nTarget)))
	
	szIcons = u""
	pPlayer = gc.getPlayer(nPlayer)
	pTarget = gc.getPlayer(nTarget)
	if bWorstEnemy and isWorstEnemy(pPlayer, pTarget):
		szIcons += FontUtil.getChar("angrypop")
	
	if bWarPeace:
		nTeam = pPlayer.getTeam()
		pTeam = gc.getTeam(nTeam)
		nTargetTeam = pTarget.getTeam()
		pTargetTeam = gc.getTeam(nTargetTeam)
		if pTeam.isAtWar(nTargetTeam):
			szIcons += FontUtil.getChar("war")
		elif gc.getGame().getActiveTeam() in (nTeam, nTargetTeam):
			bPeace = False
			if pTeam.isForcePeace(nTargetTeam):
				bPeace = True
			elif pTargetTeam.isAVassal():
				for nOwnerTeam in range(gc.getMAX_TEAMS()):
					if pTargetTeam.isVassal(nOwnerTeam) and pTeam.isForcePeace(nOwnerTeam):
						bPeace = True
						break
			if bPeace:
				szIcons += FontUtil.getChar("peace")
	if szIcons:
		szText.append(szIcons)
	
	return u" ".join(szText)
Esempio n. 11
0
File: GPUtil.py Progetto: AP-ML/DTM
def getHoverText(eWidgetType, iData1, iData2, bOption):
	city, iTurns = getDisplayCity()
	if (not city):
		# no rate or progress in any city and no city selected
		return BugUtil.getText("TXT_KEY_MISC_GREAT_PERSON", (0, PlayerUtil.getActivePlayer().greatPeopleThreshold(False)))
	iThreshold = gc.getPlayer(city.getOwner()).greatPeopleThreshold(False)
	iProgress = city.getGreatPeopleProgress()
	iRate = city.getGreatPeopleRate()
	szText = BugUtil.colorText(city.getName(), "COLOR_HIGHLIGHT_TEXT")
	szText += u"\n"
	szText += BugUtil.getText("TXT_KEY_MISC_GREAT_PERSON", (iProgress, iThreshold))
	if (iRate > 0):
		szText += u"\n%d%s%s " % (iRate, g_gpIcon, BugUtil.getPlainText("TXT_KEY_PER_TURN"))
		szText += BugUtil.getText("INTERFACE_CITY_TURNS", (iTurns,))
	
	percents = calcPercentages(city)
	if (len(percents) > 0):
		percents.sort()
		percents.reverse()
		szText += u"\n"
		for iPercent, iUnit in percents:
#			iUnit = getUnitType(gpType)
			szText += u"\n%s%s - %d%%" % (getUnitIcon(iUnit), gc.getUnitInfo(iUnit).getDescription(), iPercent)
	return szText