def checkIfIsAnyOrHasMetAllTeams(self, *eTeams): """ Calls check() only if the active team is any or has met all of the given teams. """ eActiveTeam, activeTeam = PlayerUtil.getActiveTeamAndID() for eTeam in eTeams: if eActiveTeam != eTeam and not activeTeam.isHasMet(eTeam): return self.check()
def check(self, silent=False): if (not Civ4lertsOpt.isShowWorstEnemyAlert()): return eActivePlayer = PlayerUtil.getActivePlayerID() eActiveTeam, activeTeam = PlayerUtil.getActiveTeamAndID() try: # advc.009b enemies = self.enemies[eActivePlayer] # <advc.009b> except AttributeError: return # </advc.009b> newEnemies = AttitudeUtil.getWorstEnemyTeams() delayedMessages = {} for eTeam, eNewEnemy in newEnemies.iteritems(): if activeTeam.isHasMet(eTeam): eOldEnemy = enemies[eTeam] if eOldEnemy != -1 and not gc.getTeam(eOldEnemy).isAlive(): eOldEnemy = -1 enemies[eTeam] = -1 #if eActiveTeam != eNewEnemy and not activeTeam.isHasMet(eNewEnemy): if eNewEnemy != -1 and not activeTeam.isHasMet(eNewEnemy): # K-Mod. (isHasMet(-1) could cause a seg-fault.) eNewEnemy = -1 if eOldEnemy != eNewEnemy: enemies[eTeam] = eNewEnemy if eNewEnemy == -1: if eOldEnemy == eActiveTeam: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_YOU_NO_WORST_ENEMY", gc.getTeam(eTeam).getName()) else: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_NO_WORST_ENEMY", (gc.getTeam(eTeam).getName(), gc.getTeam(eOldEnemy).getName())) elif eOldEnemy == -1: message = None # handled below if eNewEnemy not in delayedMessages: delayedMessages[eNewEnemy] = gc.getTeam(eTeam).getName() else: delayedMessages[eNewEnemy] += u", " + gc.getTeam(eTeam).getName() else: if eOldEnemy == eActiveTeam: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_SWITCH_WORST_ENEMY_FROM_YOU", (gc.getTeam(eTeam).getName(), gc.getTeam(eNewEnemy).getName())) elif eNewEnemy == eActiveTeam: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_SWITCH_WORST_ENEMY_TO_YOU", (gc.getTeam(eTeam).getName(), gc.getTeam(eOldEnemy).getName())) else: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_SWITCH_WORST_ENEMY", (gc.getTeam(eTeam).getName(), gc.getTeam(eNewEnemy).getName(), gc.getTeam(eOldEnemy).getName())) if message and not silent: # advc.106c addMessageNoIcon(eActivePlayer, message) for eEnemy, haters in delayedMessages.iteritems(): if eActiveTeam == eEnemy: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_YOU_WORST_ENEMY", haters) else: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_WORST_ENEMY", (haters, gc.getTeam(eEnemy).getName())) if not silent: # advc.106c addMessageNoIcon(eActivePlayer, message)
def check(self): #DLP if CyGame().isPitbossHost(): return if (not Civ4lertsOpt.isShowWorstEnemyAlert()): return eActivePlayer = PlayerUtil.getActivePlayerID() eActiveTeam, activeTeam = PlayerUtil.getActiveTeamAndID() enemies = self.enemies[eActivePlayer] newEnemies = AttitudeUtil.getWorstEnemyTeams() delayedMessages = {} for eTeam, eNewEnemy in newEnemies.iteritems(): if activeTeam.isHasMet(eTeam): eOldEnemy = enemies[eTeam] if eOldEnemy != -1 and not gc.getTeam(eOldEnemy).isAlive(): eOldEnemy = -1 enemies[eTeam] = -1 if eActiveTeam != eNewEnemy and not activeTeam.isHasMet(eNewEnemy): eNewEnemy = -1 if eOldEnemy != eNewEnemy: enemies[eTeam] = eNewEnemy if eNewEnemy == -1: if eOldEnemy == eActiveTeam: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_YOU_NO_WORST_ENEMY", gc.getTeam(eTeam).getName()) else: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_NO_WORST_ENEMY", (gc.getTeam(eTeam).getName(), gc.getTeam(eOldEnemy).getName())) elif eOldEnemy == -1: message = None # handled below if eNewEnemy not in delayedMessages: delayedMessages[eNewEnemy] = gc.getTeam(eTeam).getName() else: delayedMessages[eNewEnemy] += u", " + gc.getTeam(eTeam).getName() else: if eOldEnemy == eActiveTeam: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_SWITCH_WORST_ENEMY_FROM_YOU", (gc.getTeam(eTeam).getName(), gc.getTeam(eNewEnemy).getName())) elif eNewEnemy == eActiveTeam: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_SWITCH_WORST_ENEMY_TO_YOU", (gc.getTeam(eTeam).getName(), gc.getTeam(eOldEnemy).getName())) else: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_SWITCH_WORST_ENEMY", (gc.getTeam(eTeam).getName(), gc.getTeam(eNewEnemy).getName(), gc.getTeam(eOldEnemy).getName())) if message: addMessageNoIcon(eActivePlayer, message) for eEnemy, haters in delayedMessages.iteritems(): if eActiveTeam == eEnemy: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_YOU_WORST_ENEMY", haters) else: message = BugUtil.getText("TXT_KEY_CIV4LERTS_ON_WORST_ENEMY", (haters, gc.getTeam(eEnemy).getName())) addMessageNoIcon(eActivePlayer, message)