def onModNetMessage(self, argsList):
'Called whenever CyMessageControl().sendModNetMessage() is called - this is all for you modders!'
iData1, iData2, iData3, iData4, iData5 = argsList
iNetMessageType = iData1
# Identify what this NetMessage is actually doing
if (iNetMessageType == self.iNetMessage_BuyPromotion):
iPlayer = iData2
iUnitID = iData3
self.promoteUnit(iPlayer, iUnitID)
elif (iNetMessageType == self.iNetMessage_BuyUnit):
iPlayer = iData2
iUnitType = iData3
self.purchaseUnit(iUnitType, iPlayer)
def promoteUnit(self, iPlayer, iUnitID):
# pHeadSelectedUnit = CyInterface().getHeadSelectedUnit()
# pPlayer = gc.getPlayer(iPlayer)
player = PyPlayer(iPlayer)
pHeadSelectedUnit = gc.getPlayer(iPlayer).getUnit(iUnitID)
cost = 75
expBought = 5
gold = player.getGold()
if gold >= cost:
pHeadSelectedUnit.changeExperience(expBought, 900, false, false, false)
player.setGold(gold - cost)
#CvGameUtils.CvGameUtils().addPopup("Experience",str(pHeadSelectedUnit.getExperience()))
if pHeadSelectedUnit.getExperience() >= pHeadSelectedUnit.experienceNeeded():
pHeadSelectedUnit.setPromotionReady(1)
else:
# print("Player is %d. Activate Player is %d. " %(iPlayer, CyGame().getActivePlayer()))
iActivePlayer = CyGame().getActivePlayer()
if(iPlayer == iActivePlayer):
CvGameUtils.CvGameUtils().addPopup(localText.getText("TXT_KEY_BROKEN_STAR_GOLD_NOT_ENOUGH", ()), localText.getText("TXT_KEY_BROKEN_STAR_GOLD_NOT_ENOUGH_MESSAGE", ()))
# CvGameUtils.CvGameUtils().addPopup("TXT_KEY_BROKEN_STAR_GOLD_NOT_ENOUGH", "TXT_KEY_BROKEN_STAR_GOLD_NOT_ENOUGH_MESSAGE")
return