Derf's Ashes Modules

I'm not sure that would fit thematically with them - they're Giants, they're going to be able to do more work easily. I'll have to see what else I can do with them.

Other news now: Advanced Workers updated to 1.1:
Fixes an issue that was causing Grigori Refugees only to be able to upgrade to workers
Also fixes an infrequent crash experienced on non-Windows systems when the first Refugee spawns.
 
why not keeping them on the "upgrade" path ?
-upgrade is good : allows to get units with gold instead of hammers.
-upgrade is bad : you don't have the bonus xp from civics/buildings.

maybe you can give them a malus for upgrading:
or maybe give them a "weak" promotion... and they can upgrade into "weak" units... like they are
(or "conscripted" : which acts as a limiter ... but different than weak: -10%str, +10% chance to miscast (if upgraded in magic line) -10%city attack. or something.

/regards
 
The reason for removing the ability to upgrade them is largely AI-related. Even after upgrading a Citizen to another unit, it still thinks they're workers. So you have attack units running from invading armies, because they think they're just workers.
If I'd been paying attention however, I'd have realised there's a solution to the problem staring me in plain sight. The worker units have the 'Feed the Goblins' spell, which was supposed to turn the basic trainable worker into a Thrall Militia. The Thrall Militia is now the Jotnar Warrior, which means the spell now turns Jotnar Worker units into Jotnar Warriors.
As long as I rename the spell to be something more appropriate, it'll allow them to follow the Warrior upgrade paths. The telling point will be if the AI uses the units properly afterwards or not.
 
Hi Derf,

You might consider substituting this Toco_CIV4UnitInfos in your updated Noggormotha module. It incorporates the code below to make the keepers target each other whenever they are in the enemy stack.
The Fallen Keepers still target the weakest units first as they are Marksmen but they will defend first when another keeper attacks their stack.

Code:
<!-- Start LPlate Edit -->
<UnitClassTargets>

	<UnitClassTarget>
		<UnitClassTargetType>UNITCLASS_BLESSED_TOCO</UnitClassTargetType>				<bUnitClassTarget>1</bUnitClassTarget>

	</UnitClassTarget>

	<UnitClassTarget>
		<UnitClassTargetType>UNITCLASS_DARK_TOCO</UnitClassTargetType>					<bUnitClassTarget>1</bUnitClassTarget>

	</UnitClassTarget>

	<UnitClassTarget>
		<UnitClassTargetType>UNITCLASS_TOCO</UnitClassTargetType>					<bUnitClassTarget>1</bUnitClassTarget>

	</UnitClassTarget>

</UnitClassTargets>

<UnitClassDefenders>

	<UnitClassDefender>
		<UnitClassDefenderType>UNITCLASS_BLESSED_TOCO</UnitClassDefenderType>				<bUnitClassDefender>1</bUnitClassDefender>

	</UnitClassDefender>

	<UnitClassDefender>
		<UnitClassDefenderType>UNITCLASS_DARK_TOCO</UnitClassDefenderType>					<bUnitClassDefender>1</bUnitClassDefender>

	</UnitClassDefender>

	<UnitClassDefender>
		<UnitClassDefenderType>UNITCLASS_TOCO</UnitClassDefenderType>					<bUnitClassDefender>1</bUnitClassDefender>

	</UnitClassDefender>

</UnitClassDefenders>

<!-- End LPlate Edit -->

I noticed that the button for Noggormotha's unique promotion is absent. I'd suggest basing a button on a screen shot of the Noggormotha unit's head and shoulders as it really is a good looking unit.
 

Attachments

  • UnitInfos.xml.zip
    1.7 KB · Views: 113
Two updates today. First, Keepers of Noggormotha is now at version 1.3. Changelog:
-Fixed several art-related issues due several artwork keys not being correctly renamed.
-Incorporated LPLate's targeting tweaks so that Keepers will attack and defend against each other first (Except for Fallen Keepers, who follow the usual Marksman rule)

Overhauled Jotnar has also been updated to 2.2:
-Added one new spell that allows Gothi, Voice of the Divine and Mouth of the Divine to spread White Hand
-'Feed the Goblins' has been renamed 'Take up arms' and requires Aptitude I, so non-Giantkin slaves cannot become Giants
-Jotnar Warrior now uses the unitart for the previously removed Reaver unit, to distinguish against Jotnar Workers
-Herredecarl (Fort Commanders) can no longer gain access to any Kin promotions, but have their promotions realigned to match up with other Fort Commanders (ie, they get Siege combat, not regular promotions)
-Various spells that turned Herredecarl into other units have been removed.
-Artisan I and II are no longer automatically applied - they must be paid for with experience, and only in a city.
-Artisan II has been properly named as such, now requires Aptitude 2 instead of Giantkin Renowned and provides +3 Hammers (In addition to the +1 from Artisan I)
-Artisan III is a new promotion that depends on Artisan II, requires a minimum level of 8, provides an additional +3 Hammers (For a total of 7) and can also only be taken in cities. It establishes a 0-Range leash, however.
-The 'Feed' Spell has been removed, as it no longer made sense.
-Jotnar Warrior can now upgrade into Gothi and Sloegrrekkr units. Coupled with the Take up Arms spell above, this replicates the original ability for Citizens to become any unit, barring Workers and Settlers due to AI concerns.

The changes to the Artisan promotions are an attempt to make use of the considerable mass of worker units the python code still causes. Artisan II makes them slower, but more productive in the city, reflecting the Giants having settled in somewhat, establishing themselves, and being very reluctant to go back out into the world.
Artisan III imposes a leash range on them, grants further production bonuses, and allows them to remain present as defenders, albeit none too strong ones - reflecting a Giant who is so engrossed in his craft that he no longer even considers leaving the city, and will only put the craft aside in order to defend his homeland.
This, I think, makes more sense lore-wise to the Jotnar nature of traditions and unwillingness to change.
 
And here we have two further updates.
Saila the Everchanging (Now with correct name!) at version 2.1.
-Fixed a few pink-box art issues due to unrenamed art keys.

Myu Collective updated to 0.5:
-Tweaks made to Channelling II no longer clobber other changes made since RiFE 1.3x
-Fixed and re-enabled the Transcendent unit, which replaces the Phalanx.

As usual, downloads are available from the first post.

Anyone expecting an update to the Frozen however may be in for a disappointment. Either I completely fail to understand how python works or it's just being irritating, because I honestly have no idea this time. I know, thanks to LPlate, it's because it's replicating python code that already exists in AoE itself. I just haven't been able to figure out which parts can be safely removed without breaking everything.
 
Anyone expecting an update to the Frozen however may be in for a disappointment. Either I completely fail to understand how python works or it's just being irritating, because I honestly have no idea this time. I know, thanks to LPlate, it's because it's replicating python code that already exists in AoE itself. I just haven't been able to figure out which parts can be safely removed without breaking everything.

I'm looking at the Frozen python. I have the onProjectBuilt python working (had to add in eventsfrozen python and a new event) to allow the player to switch to the Frozen civ.
OnCityBuilt python is also working.
I haven't tested the rest but I'm hoping that the civilization switch was the worst of it.
 
Frozen: in the file spellFrozen.py, there is a mismatch between terrain & feature - iTundra (lines 109 & 124)
 
Hi,

The frozen python seems to be working so far as I've tested it.

I haven't tested the spell python as I still run RifE rather than AoE. I have commented out the Tundra references or changed them to Taiga and I've corrected feature to terrain where dealing with Taiga.

---

Substitute the attached Events and python folder for those in the module as issued by Derf.

If there are further issues, let me know and I'll try to sort them. Now, back to my own mod.
 

Attachments

  • Frozen Amendments.zip
    19.4 KB · Views: 138
I placed this in the main a final fixes reborn post without a bite, but perhaps it is more relevant here.

While playing Master of mana I stumbled across a modmod call trueblood, where for the calabim, the vampire units are given a promotion, where after a certain amount of turns they get stronger, bit by bit. I am trying to ad this feature to my own ashes of erubrus but am not sure how to do it. I have included the modmod below.

Now, I know a bit about xml editing, so I can easily add the promotions to the existing ones, however, the two parts I am not sure about are:

In a file labelled extension is has the line

<event type="BeginPlayerTurn"
module="CvCalabim" function="onCalabimDoTurn"/>

which ties into a python function for the promotion cvcalabim which gives the details about the progression for the promotion.

What I really need is someone who know about this to give me some tips as to where I need to add this type of info into the existing game, as just sticking it into the modules section does not work.

Lastly, this is not my work in any way. I have spoken to the original author, who had no plans of adapting it for other modmods, but am sure (I inferred this) would have no problems if someone else did.


http://forums.civfanatics.com/attachment.php?attachmentid=369032&d=1391022071 attachment.

I did try to implement this, but just did not know enough. Would this be something that could be incorporated into ashes of erubrus?
 
I don't think you actually need python as such.
RiFE (And therefore Ashes) have promotions that decay into other promotions. I haven't had the chance to play Master of Mana lately, so I can't say if they have this themselves.
Have the Vampire promotion also grant a secondary promotion, for the sake of argument we'll call it Vamp1.

Vamp1 lasts, for example, for 10 turns. At the end of those ten turns when it's removed, it applies the Vamp2 promotion and the VampImprovement promotion.
Vamp2 is identical to Vamp1, except at the end of the period, it applies Vamp1 instead.
VampImprovement is a promotion that can be taken multiple times, and has the regular, little boosts you want to apply to vampires.

This endless loop of Vamp1>Vamp2>Vamp1... etc will ensure that at regular intervals from the moment the unit is granted Vampirisim, they will get another application of VampImprovement, which stacks with all previous ones, making them a little bit stronger, turn by turn.

The XML lines you want are:
Code:
How long the Promotion lasts until it decays:
			<iPromotionDuration>10</iPromotionDuration>
What the Promotion decays into:
			<PromotionDegradesTo>
				<Promotion>PROMOTION_CREEPER_ROOTED</Promotion>
			</PromotionDegradesTo>
To make a Promotion stackable:
			<bStackEffect>1</bStackEffect>

It's also a cleaner and more sensible alternative to the other idea I had, which makes use of something similar to the Giantkin promotions - which I only mention as there seems to be an issue with them. Giantkin I (Seasoned) is supposed to be applied to a Giantkin unit of age 50 or more. Due to one line which, if I read it correctly, says you need two applications of the Giantkin racial, this never happens. Since all the later Giantkin promotions depend on this one, the whole thing never happens.
It might have been for balance reasons, I can't tell. I'll write a quick mini-module that fixes it so people can play around with that for themselves and see.
 
just a "read-only feedback".
maybe artisan III could give :commerce: (or :gold:) instead of :hammers: .. artisans I / II will already provide the Jotnar with much hammers... allowing to compensate for the higher cost of units... but gaining a margin on buildings and wonders (depends when the +hammers are added to the production total : before multiplier or not?)
well, in the end, the production will be a boost, but they might need some (much?) gold to upgrade those units...
so maybe artisan giving +3 commerce or +4 gold might be interesting.

/regards
 
May not work, as the promotions are not just strength related. As you can see there are percentage strength increases, extra moves, extra resistance, flying, invisible detect etc. Not sure how this would play out, but I can say that it works well in the mom set up. Also, thanks for taking an interest in this. The promotions are:

<Civ4PromotionInfos xmlns="x-schema:TrueBlood_CIV4UnitSchema.xml">
<PromotionInfos>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD</Type>
<Description>TXT_KEY_TRUE_BLOOD</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_I</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_I</Type>
<Description>TXT_KEY_TRUE_BLOOD_I</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCombatPercent>5</iCombatPercent>
<iCombatPercentDefense>5</iCombatPercentDefense>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_II</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_II</Type>
<Description>TXT_KEY_TRUE_BLOOD_II</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_I</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCombatPercent>6</iCombatPercent>
<iCombatPercentDefense>6</iCombatPercentDefense>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_III</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_III</Type>
<Description>TXT_KEY_TRUE_BLOOD_III</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_II</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iMovesChange>1</iMovesChange>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_IV</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_IV</Type>
<Description>TXT_KEY_TRUE_BLOOD_IV</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_III</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCombatPercent>7</iCombatPercent>
<iCombatPercentDefense>7</iCombatPercentDefense>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_V</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_V</Type>
<Description>TXT_KEY_TRUE_BLOOD_V</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_IV</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCollateralDamageProtection>75</iCollateralDamageProtection>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_VI</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_VI</Type>
<Description>TXT_KEY_TRUE_BLOOD_VI</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_V</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iWithdrawalChange>10</iWithdrawalChange>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_VII</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_VII</Type>
<Description>TXT_KEY_TRUE_BLOOD_VII</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_VI</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iFreeXPFromCombat>2</iFreeXPFromCombat>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_VIII</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_VIII</Type>
<Description>TXT_KEY_TRUE_BLOOD_VIII</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_VII</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<DamageTypeResists>
<DamageTypeResist>
<DamageType>DAMAGE_POISON</DamageType>
<iResist>25</iResist>
</DamageTypeResist>
</DamageTypeResists>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_IX</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_IX</Type>
<Description>TXT_KEY_TRUE_BLOOD_IX</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_VIII</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<DamageTypeResists>
<DamageTypeResist>
<DamageType>DAMAGE_COLD</DamageType>
<iResist>25</iResist>
</DamageTypeResist>
</DamageTypeResists>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_X</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_X</Type>
<Description>TXT_KEY_TRUE_BLOOD_X</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_IX</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iResistMagic>15</iResistMagic>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_XII</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_XI</Type>
<Description>TXT_KEY_TRUE_BLOOD_XI</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_X</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCombatPercent>8</iCombatPercent>
<iCombatPercentDefense>8</iCombatPercentDefense>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_XII</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_XII</Type>
<Description>TXT_KEY_TRUE_BLOOD_XII</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_XI</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCombatPercent>12</iCombatPercent>
<iCombatPercentDefense>12</iCombatPercentDefense>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_XIII</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_XIII</Type>
<Description>TXT_KEY_TRUE_BLOOD_XIII</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_XII</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<iCombatCapturePercent>15</iCombatCapturePercent>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_XIV</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_XIV</Type>
<Description>TXT_KEY_TRUE_BLOOD_XIV</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_XIII</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<bSeeInvisible>1</bSeeInvisible>
<PromotionNextLevel>PROMOTION_TRUE_BLOOD_XV</PromotionNextLevel>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo>
<Type>PROMOTION_TRUE_BLOOD_XV</Type>
<Description>TXT_KEY_TRUE_BLOOD_XV</Description>
<Civilopedia>TXT_KEY_TRUE_BLOOD_PEDIA</Civilopedia>
<PromotionPrereqOr1>PROMOTION_TRUE_BLOOD_XIV</PromotionPrereqOr1>
<Button>Art/interface/LeaderHeads/Flauros button.dds</Button>
<bFlying>1</bFlying>
<bAmphib>1</bAmphib>
<bRiver>1</bRiver>
<iMovesChange>2</iMovesChange>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
 
@Calvente: It appears that the hammers provided by Citizens are also affected by buildings that do +% hammers, so nerfing their hammer yield somewhat does make sense in that regard.
The reasons for leaving them as hammers though is Wealth - or of course Research, Culture and Caste System. You can specialise a city with commerce buildings, add Art. III Citizens and have the city work on Wealth for a significant gain. the Artisan promotions remove the need for the Citizen to be paid for (They pay for themselves through their work in the city).
Since they may need a little nerf at the Art. III stage though, I'll definitely look at replacing any bonuses lost with Commerce or Gold.

@zoommooz11: OK, so I've looked through that list and extracted the details, which gives me this.
True Blood itself does nothing, it's just the entry Promo.
TB 1: +5% Str/Def
TB 2: +6% Str/Def
TB 3: +1 Move
TB 4: +7% Str/Def
TB 5: 75% Collateral Damage protection
TB 6: +10% Withdrawl Chance
TB 7: +2XP from combat
TB 8: 25% Resistance to Poison
TB 9: 25% Resistance to Cold
TB 10: 15% Resistance to Magic
TB 11: +8% Str/Def
TB 12: +12% Str/Def
TB 13: +15% chance to capture units after combat
TB 14: Can see invisible units
TB 15: Flying, Amphibious, +2 Moves

I think this can still be handled - albeit slightly altered - with stackable Promo's. As noted with the Giantkin, you can specify how many applications of a Promotion there must be, which is useful here.
The XML necessary is:
Code:
			<PrereqPromotionANDs>
				<PrereqPromotionAND>
					<PromotionType>PROMOTION_GIANTKIN</PromotionType>
					<iPrereqApplications>2</iPrereqApplications>
				</PrereqPromotionAND>
			</PrereqPromotionANDs>
Which will need changing, granted. But here's what I'm thinking.

As before, with the Vamp1, 2 and Improvement Promos. Handle the strength and defence boosts through the regular Improvement promotions. For balance, you may want to make this a 1% increase per application, or raise that depending on how often it gets applied.

Now lets take TB 3 as an example here. Third in the chain, adds 1 movement. So have the promotion check to see if there are three applications of VampImprove, which (using placeholder names, change them to whatever you choose to use) would be something like this:
Code:
			<PrereqPromotionANDs>
				<PrereqPromotionAND>
					<PromotionType>PROMOTION_VAMP_IMPROVE</PromotionType>
					<iPrereqApplications>3</iPrereqApplications>
				</PrereqPromotionAND>
			</PrereqPromotionANDs>
And that's it. Repeat for each of the following True Blood Promos that don't add strength or defence, as they're handled by VampImprove itself.

The up-side of doing it this way is that your vampires will continue to grow even after they surpass the fifteenth promotion, because they'll still get the stackable. Granted that can get a bit overpowered, but then you have to keep them alive long enough to do so.

You also don't have to apply the strength boosts by stackable either - that's just the way I'd do it. The stackable promotion can just act like a counter. It does nothing by itself, but the True Blood promotions check to see how many there are, and when there's the right number of them it applies the right True Blood promotions, including ones that handle strength mods.

If you want, I'll do up the XML for the promotions for either way, or both ways so you can see the differences in how they work.
 
That first way sounds good.

I think I follow. While the increases could be overpowered, the rate of change (in my own games-which are 6000 turn version) take a full 1400 odd turns to get to level 15. Specifically, from python the turns are as follows:

py = PyPlayer(iPlayer)
iTrueBlood = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD')
iStag01 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_I')
iStag02 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_II')
iStag03 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_III')
iStag04 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_IV')
iStag05 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_V')
iStag06 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_VI')
iStag07 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_VII')
iStag08 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_VIII')
iStag09 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_IX')
iStag10 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_X')
iStag11 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_XI')
iStag12 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_XII')
iStag13 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_XIII')
iStag14 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_XIV')
iStag15 = gc.getInfoTypeForString('PROMOTION_TRUE_BLOOD_XV')


iMinTurns01 = 75

iMinTurns02 = 150

iMinTurns03 = 225

iMinTurns04 = 300

iMinTurns05 = 375

iMinTurns06 = 450

iMinTurns07 = 525

iMinTurns08 = 600

iMinTurns09 = 700

iMinTurns10 = 800

iMinTurns11 = 900

iMinTurns12 = 1000

iMinTurns13 = 1150

iMinTurns14 = 1300

iMinTurns15 = 1450

As you can see, it really is an epic amount of time, which could of course be adjusted for game speed. Would the amount of game turns be variable as part of the equations. Ie vamp1 75 turns, vamp2 75 turns(+15)?. Even if its not, your input has really been appreciated, and, I am sure other will enjoy this mechanic adding a bit more uniqueness to the vamps.
 
I don't think there's a way to scale it based on game length without doing it in python, as it was done originally. You'll also have to take note that unless you use more than just the two decaying promotions, you'll have a fixed period between them. I see there it goes 75 turns between them until 600, where it goes in whole hundreds from then on.
If you wanted to replicate that, you'd need a series of decaying promos, each one applying the next as they expire. But that would end up with a lot of extra promotions, where if you can work with just the two it'll be much tidier. Again though, it's a matter of choice.
 
Frozen 1.1 has been uploaded:
Python code fixed and updated by LPlate. Module should now be stable but issues may still occur. Please let us know if/when that happens.

Giantkin Fix 1.0 is a new mini-module that has just been released:
Minor tweak that fixes an issue with the Giantkin Renowned promotion requiring two applications of Giankin racial, which could never happen.

Giantkin Fix does not depend on any Jotnar module, but will likely enhance all three of them - LPlate's, and both the legacy 1.1 version and overhauled 2.x I maintain.
 
I don't think there's a way to scale it based on game length without doing it in python, as it was done originally. You'll also have to take note that unless you use more than just the two decaying promotions, you'll have a fixed period between them. I see there it goes 75 turns between them until 600, where it goes in whole hundreds from then on.
If you wanted to replicate that, you'd need a series of decaying promos, each one applying the next as they expire. But that would end up with a lot of extra promotions, where if you can work with just the two it'll be much tidier. Again though, it's a matter of choice.

Sounds great. I would make it paced for marathon games, and probably make the turns all 75. As you said the strength increase should be low (3%- so a level 15 vamp {75 X 15 turns= turn 1125}, would have a strength bonus of 45%, along with the other bonuses picked up along the way-shouldn't be too overpowered without careful looking after the unit). In fact, other then the scaling turns times, I actually like your way better, as there is no limit to how powerful the vamp can get.
 
This line should be reviewed:

Code:
if not pPlot.getFeatureType() == iTaiga:
(line 134 in spellFrozen.py)

That's a bit the problem with this kind of coding: you will never get a Python error, iTaiga returns 4 (if I'm not mistaken) and there is an existing feature with type 4.
 
Frozen 1.11 uploaded. LPLate, I don't know why exactly, but the additional python files you included were causing a crash until I added 'frozen' on the end of each filename. This fixes that.
However, we have two known issues:
-The event at Letum Frigus which should give Auric the Aggressive trait and the Amurites a Golden Age is not triggering. (Can't see why, there's nothing in the module as far as I can see that modifies Letum Frigus, or the python event it calls)
-When you change to the Frozen civilization, the map does not correctly update the visible tiles. Just save and re-load the savegame to fix this.
 
Top Bottom