MaxAstro
Spiral Knight
- Joined
- Dec 18, 2007
- Messages
- 645
I'm trying to make a unit that steals weapon promotions from enemies it defeats, using PyPostCombatWon. I've got what should be a working block of python written out for it. However, for some reason, it causes the unit to automatically gain Mithril weapons after any fight, regardless of the enemy's weapon promotions. Can someone look at this code and tell me what I am doing wrong?
Code:
def postCombatScavenge(pCaster, pOpponent):
bScavenged = False
if pOpponent.isHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS')):
if ((pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS')) == False) and (pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS')) == False) and (pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_MITHRIL_WEAPONS')) == False)):
pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_BRONZE_WEAPONS'), True)
bScavenged = True
if pOpponent.isHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS')):
if ((pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS')) == False) and (pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_MITHRIL_WEAPONS')) == False)):
pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_IRON_WEAPONS'), True)
bScavenged = True
if pOpponent.isHasPromotion(gc.getInfoTypeForString('PROMOTION_MIRTHIL_WEAPONS')):
if (pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_MITHRIL_WEAPONS')) == False):
pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_MITHRIL_WEAPONS'), True)
bScavenged = True
if pOpponent.isHasPromotion(gc.getInfoTypeForString('PROMOTION_ENCHANTED_BLADE')):
if (pCaster.isHasPromotion(gc.getInfoTypeForString('PROMOTION_ENCHANTED_BLADE')) == False):
pCaster.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ENCHANTED_BLADE'), True)
bScavenged = True
if bScavenged:
CyInterface().addMessage(pCaster.getOwner(),True,25,CyTranslator().getText("TXT_KEY_MESSAGE_SCAVENGER", ()),'',1,'Art/Interface/Buttons/Promotions/Enchantedblade.dds',ColorTypes(8),pCaster.getX(),pCaster.getY(),True,True)