Tarquelne
Follower of Tytalus
- Joined
- Dec 8, 2001
- Messages
- 3,718
I've been looking for a way to tame Alazkan's Mirror. I'd like to find something that changes it as little as possible while also removing Alazkan's ability to devastate civs while remaining inside Svart. borders.
I've figured out how to add extra promotions: -50% (or whatever) to combat might work. Though it seems crude.
Limiting the movement of the Illusion might be better - make Alazkan get within range of a counter-attack. I'm not sure a straight "-" to movement would work. Would it guarantee a move of at least 1? How about a high terrain movement cost? I think that guarantees a move.
What I'd really like to do is give Alazkan's Mirror a combat limit. So it can soften up the enemy - even at long range - but some 'real' units will have to be committed to actually make a kill. (Or, well, other summoned creatures. Close enough.)
I don't know how to add a "combat limit" to the illusion, however.
Any other ideas? A tip on how to give the illusion a combat limit?
Here's the relevant python:
Thanks!
I've figured out how to add extra promotions: -50% (or whatever) to combat might work. Though it seems crude.
Limiting the movement of the Illusion might be better - make Alazkan get within range of a counter-attack. I'm not sure a straight "-" to movement would work. Would it guarantee a move of at least 1? How about a high terrain movement cost? I think that guarantees a move.
What I'd really like to do is give Alazkan's Mirror a combat limit. So it can soften up the enemy - even at long range - but some 'real' units will have to be committed to actually make a kill. (Or, well, other summoned creatures. Close enough.)
I don't know how to add a "combat limit" to the illusion, however.
Any other ideas? A tip on how to give the illusion a combat limit?
Here's the relevant python:
Spoiler :
Code:
def spellMirror(caster):
pPlayer = gc.getPlayer(caster.getOwner())
newUnit = pPlayer.initUnit(caster.getUnitType(), caster.getX(), caster.getY(), UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)
for i in range(gc.getNumPromotionInfos()):
if gc.getPromotionInfo(i).isEquipment() == False:
newUnit.setHasPromotion(i, caster.isHasPromotion(i))
newUnit.setHasPromotion(gc.getInfoTypeForString('PROMOTION_ILLUSION'), True)
newUnit.setDamage(caster.getDamage(), False)
newUnit.setLevel(caster.getLevel())
newUnit.setExperience(caster.getExperience(), -1)
newUnit.setDuration(1)
Thanks!