def onCombatResult(self, argsList):
## Leech Promotion Start ##
pWinner,pLoser = argsList
playerX = PyPlayer(pWinner.getOwner())
unitX = PyInfo.UnitInfo(pWinner.getUnitType())
playerY = PyPlayer(pLoser.getOwner())
unitY = PyInfo.UnitInfo(pLoser.getUnitType())
iPlayer = pWinner.getOwner()
if pLoser.getUnitCombatType() > -1:
if pWinner.isHasPromotion(gc.getInfoTypeForString("PROMOTION_LEECH")):
pWinner.setDamage(pWinner.getDamage() - (pLoser.baseCombatStr() * 20/pWinner.baseCombatStr()), false)
CyInterface().addMessage(iPlayer,true,10,CyTranslator().getText("TXT_EAT",(pWinner.getName(), pLoser.getName(),)),'',0, -1, -1, -1, -1, true,true)
## Leech Promotion End ##
if (AutologOpt.isLogCombat()):
self.UnitKilled = 1
pWinner,pLoser = argsList
if (pWinner.getOwner() == CyGame().getActivePlayer()
or pLoser.getOwner() == CyGame().getActivePlayer()):
playerX = PyPlayer(pWinner.getOwner())
playerY = PyPlayer(pLoser.getOwner())
winnerHealth = float(pWinner.baseCombatStr()) * float(pWinner.currHitPoints()) / float(pWinner.maxHitPoints())
zsBattleLocn = self.getUnitLocation(pWinner)
playerXDesc = PyPlayer(pWinner.getVisualOwner()).getCivilizationAdjective()
playerYDesc = PyPlayer(pLoser.getVisualOwner()).getCivilizationAdjective()
if (pWinner.getOwner() == CyGame().getActivePlayer()):
if (self.bHumanPlaying):
message = BugUtil.getText("TXT_KEY_AUTOLOG_WHILE_ATTACKING_DEFEATS", (zsBattleLocn, pWinner.getNameKey(), BugUtil.formatFloat(winnerHealth, 2), pWinner.baseCombatStr(), playerYDesc, pLoser.getNameKey(), BugUtil.formatFloat(self.fOdds, 1), lPercent))
self.iBattleWonAttacking = self.iBattleWonAttacking + 1
else:
self.fOdds = 100 - self.fOdds
message = BugUtil.getText("TXT_KEY_AUTOLOG_WHILE_DEFENDING_DEFEATS", (zsBattleLocn, pWinner.getNameKey(), BugUtil.formatFloat(winnerHealth, 2), pWinner.baseCombatStr(), playerYDesc, pLoser.getNameKey(), BugUtil.formatFloat(self.fOdds, 1), lPercent))
self.iBattleWonDefending = self.iBattleWonDefending + 1
Logger.writeLog(message, vColor="DarkRed")
else:
if (self.bHumanPlaying):
message = BugUtil.getText("TXT_KEY_AUTOLOG_WHILE_ATTACKING_LOSES", (zsBattleLocn, pLoser.getNameKey(), playerXDesc, pWinner.getNameKey(), BugUtil.formatFloat(winnerHealth, 2), pWinner.baseCombatStr(), BugUtil.formatFloat(self.fOdds, 1), lPercent))
self.iBattleLostAttacking = self.iBattleLostAttacking + 1
else:
self.fOdds = 100 - self.fOdds
message = BugUtil.getText("TXT_KEY_AUTOLOG_WHILE_DEFENDING_LOSES", (zsBattleLocn, pLoser.getNameKey(), playerXDesc, pWinner.getNameKey(), BugUtil.formatFloat(winnerHealth, 2), pWinner.baseCombatStr(), BugUtil.formatFloat(self.fOdds, 1), lPercent))
self.iBattleLostDefending = self.iBattleLostDefending + 1
Logger.writeLog(message, vColor="Red")