Mod-Modders Guide to Fall Further

Strange, so gaining a command limit from a modular promotion which does not also grant a command range is crashing things?
It's got to be that with a combination of something else, because I've done a modular promotion that granted range but not limit and not had any problems.
 
Strange, so gaining a command limit from a modular promotion which does not also grant a command range is crashing things?

Well my experience yes.
This was the only change between the launched (I did without the CommandRange, crash, with, no crash, without crash, with, no crash, then stayed like this)

Of course it may come from something interacting with it, but as I had similar problem on some other values (not initialised at 0 if a linked value is set while in a module).
 
Gettinghundreds of python exceptions on our latest internal revision. I'm not certain whether it's an issue in the main release or not.

It's throwing a syntax error on the bolded line. Actually, it's throwing 10-20 syntax errors on the same part, all at once. every 5-10 turns. Presumably barbarians trying to explore lairs or something.

Code:
def cantTriggerBarbarian(argsList):
	kTriggeredData = argsList[0]
	iPlayer = kTriggeredData.ePlayer
	pPlayer = gc.getPlayer(iPlayer)
	[B]if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ORC') or pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ANIMAL') pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DEMON'):[/B]
		return False
	return True

Anyone see the issue ? This is a pretty important function so we'd be better off fixing it prerelease.
 
Took me a bit to see the issue... This should fix it.

Code:
def cantTriggerBarbarian(argsList):
	kTriggeredData = argsList[0]
	iPlayer = kTriggeredData.ePlayer
	pPlayer = gc.getPlayer(iPlayer)
	if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ORC') or pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_ANIMAL') [B][U]or[/U][/B] pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DEMON'):
		return False
	return True

Edit: Damn, beaten to it. :lol: That's what I get for opening multiple tabs and coming to this one late, I suppose... ;)
 
I'm being lazybusy right now, so I'll just ask: would it be hard to import the commander system over Orbis?

Also, side question, what did you think of the History of the Three Kingdom's hero system? Seems a great idea but is maybe a bit complex and unfitting to FFH, with the buying of heroes and all... But they added the possibility to capture defeated heroes which seems really cool :)
 
I haven't looked too much at the HotTK system, I just sort of know how you interact with it and have guessed at pieces from there.

If you have the Master/Slave system imported already, the Commander system shouldn't be too hard to pick up as well.
 
I need to prevent the Clan from upgrading their melee line to Immortals and Phalanxes. Simplest way I see to do this, is to give them a champion UU, which only has berserker as an upgrade path. Would this also prevent them from upgrading axemen/warriors to the above ?
 
I'm having some issues with my warrens work.

I've got the python all functional. Undisciplined is appropriately applied to new units. But I can't seem to make the Removed at lv4 thing work. I'm doing it via an autoaquire promotion (undisciplined remove) which overwrites undisciplined, and should be auto gained at lv4. It was meant to be an effect promo and 100% chance to wear off, I just removed those two tags for now, for debugging.

Both of these promotions show up in the pedia, exactly as you'd expect. Ie, the removal one says it's automatically gained when requirements are met, requires lv4 to aquire, and requires undisciplined.

But, it simply isn't working. I give a unit some free xp and level it up to lv4, and beyond. But the removal promotion doesn't appear, and undisciplined doesn't disappear.

XML below. Any idea what I'm doing wrong ?

Spoiler :
Code:
<PromotionInfo>		<!-- Undisciplined -->
			<Type>PROMOTION_UNDISCIPLINED</Type>
			<Description>TXT_KEY_PROMOTION_UNDISCIPLINED</Description>
			<bNoXP>1</bNoXP>
			<iPower>-10</iPower>
			<iAirCombatLimitBoost>-10</iAirCombatLimitBoost>
			<iCollateralDamageProtection>-50</iCollateralDamageProtection>
			<iCombatPercent>-20</iCombatPercent>
			<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_DISCIPLE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_SIEGE</UnitCombatType>
					<bUnitCombat>1</bUnitCombat>
				</UnitCombat>
			<Button>Art/Interface/Buttons/Promotions/ForTheHorde.dds</Button>
			<iBetrayalChance>2</iBetrayalChance>
			<iMinLevel>-1</iMinLevel>
			<iExpireChance>3</iExpireChance>
			<iChanceMiscast>20</iChanceMiscast>
		</PromotionInfo>
		<PromotionInfo>		<!-- Undisciplined Remove (Effect promo) -->
			<Type>PROMOTION_UNDISCIPLINED_REMOVE</Type>
			<Description>Remove undisciplined</Description>
			<PromotionPrereq>PROMOTION_UNDISCIPLINED</PromotionPrereq>
			<bAutoAcquire>1</bAutoAcquire>
			<bNoXP>1</bNoXP>
			<Button>Art/Interface/Buttons/Promotions/Revealed.dds</Button>
			<iMinLevel>4</iMinLevel>
			<PromotionOverwrites>
				<Promotion>PROMOTION_UNDISCIPLINED</Promotion>
			</PromotionOverwrites>
		</PromotionInfo>
 
What's the difference between bFreeUnit and bNoSupport. Can anyone explain in detail what exactly each one does? I notice the free unit promotion has both of them.
 
xienwolf explained it once, but somehow even using both does not remove the support (to my test, as I did it in Tears and still have support cost).
 
bNoSupport = No Military Upkeep (Pacifism Civic is/was the only way to have that happen)

bFreeUnit = No Supply Costs when out of borders and no standard maintenance costs (both achieved by increasing your number of free support slots by 1, rather than not counting the unit toward support)
 
ok, quick question. Regrowing skin on stoneskin ogres
I'm doing this via an autoaquire promotion, that is gained under the following circumstance

1. Unit type Stoneskin Ogre.
2. Does not have the Stoneskin promotion.

I'd like to do it purely in xml for simplicity, but there doesn't seem to be a prereqNOTpromotion, ie true when the unit doesn't have the promotion, only when it does.

thoughts on the best way to do this ?
 
Back
Top Bottom