Rebirth and Legend

I may have misunderstood. But for launching the mod, the launcher does work.
All you need do is extract the mod, put the folder into your Beyond the Sword/Mods folder, run RiFELauncher and click 'Launch RiFE'. It works fine.
(At least, it does here - which I know isn't necessarily true everywhere.)
But again, I'd like to point out that launching it from the BTS main menu's Load Mod option, and by creating a shortcut both also work just fine. Regardless of how you launch the mod, it should work the same way.
 
New known issue: The game throws an XML error about the Infernal Worker promotion. To fix, replace Assets\XML\Units\CIV4PromotionInfos with the attached file.
This will be fixed properly in the next release. Until then, I've added a note to post 2 with the install instructions.
 

Attachments

  • CIV4PromotionInfos.zip
    82.6 KB · Views: 209
-The Dural and Hamstalfar modules are no longer loaded by default
-Three modules have been merged into the base code: Advanced Workers, Fortifications and Werepyre. See my AoE module thread for details on each.
-Six modules have been made available, but are not loaded by default. Move them into the appropriate folder to enable them (As the RiFE launcher doesn't seem to want to work). These are Khazad: TNG (Folder is named 'Dwarves'), Master of Mana Buildings, Maogata, More Arcane, Myu and Scion Healthcare.

I moved the "six modules" plus Dural into the active Modules folder and the game crashed on startup. After trying modules one by one and in various combinations I can report that having both the Dural and More Arcane modules active causes a CtD when loading the mod from the BtS main menu.

I didn't try every possible combination of these seven modules, but if you move either Dural or More Arcane back into Inactive Modules, there's no startup CtD.
 
Dural shouldn't - I haven't touched it except to move it to Inactive Modules.
More Arcane I'm not quite so surprised by, I left the WIP tag on it and I'm still trying to find the notes I had for it so I can figure out why.
Does it only happen from the BTS main menu? Does it also happen when launching by shortcut/the launcher?

Edit: I can't seem to reproduce this issue (although I did get an unrelated one). Could you make a note of the XML errors? I'll look into them anyway and see if I can figure out what weirdness is happening.
 
Dural shouldn't - I haven't touched it except to move it to Inactive Modules.
More Arcane I'm not quite so surprised by, I left the WIP tag on it and I'm still trying to find the notes I had for it so I can figure out why.
Does it only happen from the BTS main menu? Does it also happen when launching by shortcut/the launcher?

Edit: I can't seem to reproduce this issue (although I did get an unrelated one). Could you make a note of the XML errors? I'll look into them anyway and see if I can figure out what weirdness is happening.

Well, this is strange. After reading your post I moved the Dural folder from "Inactive Modules" back into the regular "Modules" folder, where I already had the other six modules (Khazad TNG aka Dwarves, MoM Buildings, Maogata, More Arcane, Myu, and Scions Healthcare) and this time got not CtD on startup, either from the Main Menu or using the RifE Launcher. No idea what went wrong before or why it's fine now.

Still in the middle of an Ashes of Erebus game, but will give this a go when I have the chance.
 
It makes about as much sense as having to run Civ4 in compatibility mode for Windows 7... on Windows 7. To avoid a CtD.
In other news, the plans for hell terrain are slightly skewed. Either I'm not doing it right, which given as the effects are done in python is entirely possible, or I'm missing something. The spell works, except for one key thing - it doesn't change the terrain. The code is essentially the same as Sanctify, but without the part that summons host of the einherjar in certain places, and instead of clearing Hell Terrain, it creates it. Or it's meant to.
I've been trying to see if I can find the python code handling for the Entropy Node flaring event, which iirc 'spoils the surrounding land' and creates Hell Terrain.

For anyone who wants to lend a hand, paw, claw, or other suitable appendage, this is the python code as it stands (from Assets\Python\entrypoints\CvSpellInterface.py - note that this code is not in the current release; only my working dev copy at the moment)
Spoiler :

Code:
def reqHellify(caster):
	pPlot = caster.plot()
	bValid = False
	iX = pPlot.getX()
	iY = pPlot.getY()
	getPlot	= CyMap().plot
	if gc.getGame().isOption(GameOptionTypes.GAMEOPTION_NO_PLOT_COUNTER):
		iGrass = gc.getInfoTypeForString('TERRAIN_GRASS')
		iDesert = gc.getInfoTypeForString('TERRAIN_DESERT')
		iPlains = gc.getInfoTypeForString('TERRAIN_PLAINS')
		iMarsh = gc.getInfoTypeForString('TERRAIN_MARSH')
		for iiX,iiY in RANGE1:
			pPlot = getPlot(iX+iiX,iY+iiY)
			if not pPlot.isNone():
				iTerrain = pPlot.getTerrainType()
				if (iTerrain == iGrass or iTerrain == iDesert or iTerrain == iPlains or iTerrain == iMarsh):
					bValid = True
	else:
		for iiX,iiY in RANGE1:
			pPlot = getPlot(iX+iiX,iY+iiY)
			if not pPlot.isNone():
				if pPlot.getPlotCounter() < 100:
					bValid = True
	if bValid == False:
		return False
	pPlayer = gc.getPlayer(caster.getOwner())
	if not pPlayer.isHuman():
		if caster.getOwner() != pPlot.getOwner():
			return False
		if pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_MERCURIANS'):
			return False
	return True

def spellHellify(caster):
	pPlot = caster.plot()
	iX = pPlot.getX()
	iY = pPlot.getY()
	getPlot	= CyMap().plot
	if gc.getGame().isOption(GameOptionTypes.GAMEOPTION_NO_PLOT_COUNTER):
		iBrokenLands = gc.getInfoTypeForString('TERRAIN_BROKEN_LANDS')
		iBurningSands = gc.getInfoTypeForString('TERRAIN_BURNING_SANDS')
		iDesert = gc.getInfoTypeForString('TERRAIN_DESERT')
		iFieldsOfPerdition = gc.getInfoTypeForString('TERRAIN_FIELDS_OF_PERDITION')
		iGrass = gc.getInfoTypeForString('TERRAIN_GRASS')
		iMarsh = gc.getInfoTypeForString('TERRAIN_MARSH')
		iPlains = gc.getInfoTypeForString('TERRAIN_PLAINS')
		iShallows = gc.getInfoTypeForString('TERRAIN_SHALLOWS')
		for iiX,iiY in RANGE1:
			pPlot = getPlot(iX+iiX,iY+iiY)
			if not pPlot.isNone():
				iTerrain = pPlot.getTerrainType()
				if iTerrain == iGrass:
					pPlot.setTerrainType(iBrokenLands, False, False)
				if iTerrain == iDesert:
					pPlot.setTerrainType(iBurningSands, False, False)
				if iTerrain == iPlains:
					pPlot.setTerrainType(iFieldsOfPerdition, False, False)
				if iTerrain == iMarsh:
					pPlot.setTerrainType(iShallows, False, False)
	else:
		for iiX,iiY in RANGE1:
			pPlot = getPlot(iX+iiX,iY+iiY)
			if pPlot.getPlotCounter() > 100:
				pPlot.changePlotCounter(pPlot.getPlotCounter() * 100)
# FF: Added by Jean Elcard 14/01/2009 (speed tweak)
		rebuildGraphics()
# FF: End Add

To clarify, the XML part of this is fine, and in-game it triggers fine. It just doesn't actually change the terrain, when as far as I can tell, it should. I'm known for being bad with python though.
 
pPlot.changePlotCounter(pPlot.getPlotCounter() * 100)

I think you meant to use + instead of *.
As written, if the count was 0, it will still be 0 at the end of the spell and your hell terrain will convert to the normal terrain (I think this happens when doHellTerrain is called).
 
I've changed it to that, and having finally re-found where the normal Hell Terrain code is, also added the line 'bUntouched = False' after it, as that seems to be the only thing missing between the two.
However, it still doesn't want to work. I'll keep poking about and trying to find other places that make Hell Terrain appear to see what I'm doing wrong, but I'm completely stumped now.
 
I'm doing some final testing in preparation for the next version. I *think* (testing pending) I've finally got the Hellify spell working, if not then the Infernal auto-hellification will be temporarily re-enabled until it's fixed.

So far, this is the changelog:
-Maogata are now available to the AI. While they don't take advantage of the world spell, they are capable opponents.
-Maogata can no longer build the Temple of the Hand, as they could not build any of the other temples
-Grigori Sidequest now works differently. Firstly, it now behaves like Held, not Lost. Secondly with some hidden promotions, each unit can only use it once, after which they are prevented from doing so again in order to prevent abuse (See a note on this below)
-An inspiration taken from the old Fall Under module - each of the four techs that grant access to mana nodes (Alteration, Necromancy, Divination, Elementalism) now reduce the cost to research the other three. This might also be extended to Sorcery, I haven't decided yet.
-In the same vein as the above, each religion-founding tech now increases the cost of each other such tech. The amount, as in Fall Under, is based on alignment and different ideologies. Since none of them want another Age of Ice, all of them increase the cost of the White Hand considerably, and White Hand in turn does the same to them. This might be tweaked and refined. This also has the side effect of making the AI come up with some rather absurd deals when you have a tech that's much more expensive. Seeing them offer you Deception for upward of 20k gold is not uncommon.
-Introduction of the Hellify spell with Entropy I. I'm sure I don't need to go into this given I've already mentioned it.
-Beeri Bawl now has Industrious instead of Defender. Golems couldn't benefit from Defender, making the trait much less useful.
-Lore tweak: The two elven palaces are now named the Summer and Winter courts respectively.
-Lizard priests should now found the Sacellums instead of the normal temples.
-Yet more broken text keys have been fixed.
-The hotfix for the Infernal Worker causing an XML error has also been included.

KNOWN ISSUES:
There is a CtD which at present I don't know the cause of. It only occurs in a game with Auric Ulvin leading the Illians, regardless of whether he is player or AI controlled. This also happens to Taranis if the Frozen module is loaded. I'm looking into this in an attempt to figure out just what causes it. Until then please be wary of allowing them to join in the fun.
This CtD does not occur with Raitlor, so if you still want the Illians ask her to play instead. I'm sure she won't mind.

On Sidequest - there is an alternative option to it being a one-time only spell. In order to balance that though, it'll be made to have a risk to it - easiest is a risk of death, harder but perhaps more interesting would be a random risk of either death, mutation, or for that matter any other negative lair effect.
 
thanks !!
RaL is my next game... when I'll have beaten that Magister "AV Lanun-Svartalfar(owner of 2 infernals) Alliance" with my AV Sheaim empire... But I need first to make those Ljos-Mercurian(owner of Bannor) alliance submit to my might...
so, maybe in 2-3 weeks !
 
I'm now uploading version 1.3, soon to be available in about 3 hours (assuming my connection doesn't die on me. Again). Stay tuned and I'll let you know when it's uploaded with the new download link. Once it's uploaded, I'll add the changelog below to the third post and the link to the second.

Important Note: If you are upgrading from 1.2, in order to avoid duplicate modules or conflicts, please move any modules you enabled (excepting Bannor Chain of Command, Black Duke and More Events) back to Inactive Modules first. Several modules have received fixes and tweaks.
Feel free to move them back again afterwards, of course. This just avoids confusion and mistakes.

The finalized changelog for 1.3:
-Maogata are now available to the AI. While they don't take full advantage of their capabilities, they're still capable rivals.
-Maogata can no longer build Temple of the Hand, in line with being unable to build other temples
-Grigori Sidequest now acts as Held instead of Lost, and can only be done once.
-Each tech founding a religion now increases the cost of each other such tech
-Each of the four techs granting access to Mana Nodes decrease the cost of the other three
-Hellify spell, available with Entropy I, now works (with one caveat, see below)
-Beeri Bawl now has Industrious instead of Defender, as Golems couldn't benefit from Defender
-Lore: Ljosalfar and Svartalfar Palaces are now known as the Summer and Winter Court respectively.
-Religious Fervor, the Malakim World Spell, now also handles White Hand appropriately
-Infernal cities now start at size 1 instead of size 3, in order to balance the next line
-Infernals now start with Infernal Pact, so they gain Manes from the start. This has the side effect of founding Ashen Veil on turn one if they are in game.
-Lizard Priests of Omorr and Kalshekk now found the Sacellums instead of the Temples.
-Climateforming for the Malakim and Lizard Civs, which was previously disabled, can be re-enabled by loading the appropriately named mini-modules.
-Muris Clan Goblin event should be far less common and annoying.
-Ice Touched has been restored and returned to Auric and Taranis, as it was causing a crash whenever they were in game.
-The Flames feature has had its size halved, in order to make it more computer-friendly
-Burning Sands now occasionally remove Flames from their tile. In order to keep with their original implementation, they now also have the requirement of Fire Resistance to enter, regardless of whether Flames are present.

Caveat for Hellify - for reasons I haven't been able to discover yet, this doesn't always work, and will never work on the first turn (which took me a while to find out). If you're playing the Infernals, simply building a Corrupted Pasture or snaring Bradeline's Well should be enough. This is something I'll be looking into.

Going forward from here...
Unless I come up with anything new, I've actually achieved everything I wanted to so far with Rebirth and Legend, barring two items and bugfixes.
Those two items are my idea for a Golem Civilization, which is a longer-term project and may see at least a few changes to the Luchuirp, and something that can be summed up in one word: Imports.
I already plan, once I've had a look into things (like art assets and how to get at the ones hidden in the FPK files), to bring the Dao and Palatinate from Orbis over, as well as the unique Pagan Temple replacements for each civ. Since Orbis uses BtS Espionage, something conspicuously absent here, I'll be seeing about restoring that as well.
Provided no one over at WildMana/Master of Mana mind, I might move beyond having a simple module that borrows a couple of buildings from them, and see about making certain imports from there. At the moment I haven't got anything on the list, I haven't even played them in a while.
Thirdly, and probably the biggest of them all, will be looking at the DLL source to see if either MNAI or more of BUG can be merged in. This one will take time, particularly since I've never actually worked with the source before. So that could be interesting.

Other than that, it's just a matter of squashing yet more bugs, fixing any more broken text keys that have managed to elude me, and handling any other ideas that come up.

I still blame Jheral for this. But at least I can have fun playing something I worked on myself.
The trick is not forgetting I'm play-testing, and not just playing.
 
I still blame Jheral for this. But at least I can have fun playing something I worked on myself.

Keep blaming me all you like - still won't make it my fault. ;)
 
And 1.3 is now live and available for everyone to enjoy.
And you can bet that within a few minutes of my starting the game up to play, I'll find a bug again.
 
Hello some things I noticed playing 1.2 version plus a few outstanding issues I fixed if your interested in implementing them.

Maogato

1. Something probably needs to be done about the maogato lack of access to temples due to the 3rd leader not being agnostic and the entire line of tech giving you no troops and no buildings nor analogues. My suggestion would be to add a disciple line of units that are herbal healers and that if you have a religion have the option to spread that religion. As well as a temple replacement building that is a healing hall or some such.

2. While I can not be sure as I never got far enough to build them it looks like maogato are able to build the mounted mages which should not be possible.

3. Until I read in depth about magato in the civopedia I did not realize they were supposed to be able to build over forests like elves as at least in my game it was not working. My thoughts on this is it would welcome but somewhat to powerful.

I would suggest maybe removing part of the bonus on all improvements to compensate. So a farm for example would give base 0 bonus to food and gain +1 with sanitation.

4. I added +1 food to ancient forest to there racial it seems like it should be there as all the rest of there forest specific traits include it. and is pretty important if you use the rd leader as you are going to almost assuredly be fellowship of leaves given the amount of forests you will have.

Daviello

1. Lycanthrope for Baron leader. It's a fun but pretty overpowered to start with I would suggests instead of giving lycanthrope to all units maybe giving another promotion or adding it to werewolf that after combat there is a small base chance to awaken as a blooded lycanthrope. meaning it will take some effort to start the ball rolling. I noticed that as it is, with a minor amount of work I can steamroll multiple civs very early on on deity level.

2. Animal blood: Not specific to this mod but for a long time I have been frustrated that for the one civilization that is about animals is the one of the civilizations that has the hardest time get those blood promotions to rectify this I added to the CIV4SpellInfos.xnl and changed CIV4Promotions.xml

Code:
		<SpellInfo>		<!-- Added Blood Brother for Doviello -->	<!--  Blood Brother - Bear -->			
			<Type>SPELL_BLOOD_BROTHER_BEAR</Type>
			<Description>TXT_KEY_PROMOTION_BEAR_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_BEAR_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_BEAR_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Bear.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Boar -->			
			<Type>SPELL_BLOOD_BOTHER_BOAR</Type>
			<Description>TXT_KEY_PROMOTION_BOAR_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_BOAR_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_BOAR_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/WorldBuilder/Pig.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother Elephant -->			
			<Type>SPELL_BLOOD_BROTHER_ELEPHANT</Type>
			<Description>TXT_KEY_PROMOTION_ELEPHANT_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_ELEPHANT_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_ELEPHANT_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Elephant.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Griffon -->			
			<Type>SPELL_BLOOD_BROTHER_GRIFFON</Type>
			<Description>TXT_KEY_PROMOTION_GRIFFON_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_GRIFFON_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_GRIFFON_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Civs/Doviello/Promotions/totemgriffin.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Gorilla -->			
			<Type>SPELL_BLOOD_BROTHER_GORILLA</Type>
			<Description>TXT_KEY_PROMOTION_GORILLA_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_GORILLA_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_GORILLA_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Gorilla.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Lion -->			
			<Type>SPELL_BLOOD_BROTHER_LION</Type>
			<Description>TXT_KEY_PROMOTION_LION_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_LION_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_LION_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Lion.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Raptor -->			
			<Type>SPELL_BLOOD_BROTHER_RAPTOR</Type>
			<Description>TXT_KEY_PROMOTION_RAPTOR_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_RAPTOR_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_RAPTOR_BLOOD</AddPromotionType1>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Promotions/Lizardman.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Scorpion -->			
			<Type>SPELL_BLOOD_BROTHER_SCORPION</Type>
			<Description>TXT_KEY_PROMOTION_SCORPION_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_SCORPION_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_SCORPION_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Spider.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Spider -->			
			<Type>SPELL_BLOOD_BROTHER_SPIDER</Type>
			<Description>TXT_KEY_PROMOTION_SPIDER_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_SPIDER_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_SPIDER_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Spider.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Stag -->			
			<Type>SPELL_BLOOD_BROTHER_STAG</Type>
			<Description>TXT_KEY_PROMOTION_STAG_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_STAG_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_STAG_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Civs/Doviello/Units/Stag/Stag.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Tiger -->			
			<Type>SPELL_BLOOD_BROTHER_TIGER</Type>
			<Description>TXT_KEY_PROMOTION_TIGER_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_TIGER_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_TIGER_BLOOD</AddPromotionType1>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Tiger.dds</Button>
		</SpellInfo>
		<SpellInfo>			<!-- Blood Brother - Wolf -->			
			<Type>SPELL_BLOOD_BROTHER_WOLF</Type>
			<Description>TXT_KEY_PROMOTION_WOLF_BLOOD</Description>
			<Civilopedia></Civilopedia>
			<Strategy></Strategy>
			<PromotionPrereq1>PROMOTION_WOLF_BLOOD</PromotionPrereq1>
			<PromotionPrereq2>PROMOTION_WILD_DOVIELLO</PromotionPrereq2>
			<bAllowAI>1</bAllowAI>
			<iAIWeight>100</iAIWeight>
			<bDisplayWhenDisabled>1</bDisplayWhenDisabled>
			<bHasCasted>1</bHasCasted>
			<bIgnoreHasCasted>1</bIgnoreHasCasted>
			<AddPromotionType1>PROMOTION_WOLF_BLOOD</AddPromotionType1>
			<AddPromotionType2></AddPromotionType2>
			<bImmuneNeutral>1</bImmuneNeutral>
			<bImmuneEnemy>1</bImmuneEnemy>
			<Effect>EFFECT_SPELL1</Effect>
			<Sound>AS3D_SPELL_COMMANDER_JOIN</Sound>
			<Button>Art/Interface/Buttons/Units/Wolf.dds</Button>
		</SpellInfo>

Code:
		<PromotionInfo>		<!-- Scorpion Blood -->
			<Type>PROMOTION_SCORPION_BLOOD</Type>
			<Description>TXT_KEY_PROMOTION_SCORPION_BLOOD</Description>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
					<iMaxApplications>0</iMaxApplications>
				</UnitCombat>
			</UnitCombats>
			<Button>Art/Civs/Other/Scorpions/Scorpion.dds</Button>
			<iMinLevel>-1</iMinLevel>
			<PromotionCombatApply>PROMOTION_POISONED</PromotionCombatApply>
			<PromotionExcludes>
			</PromotionExcludes>
			<DamageTypeResists>
				<DamageTypeResist>
					<DamageType>DAMAGE_POISON</DamageType>
					<iResist>25</iResist>
				</DamageTypeResist>
			</DamageTypeResists>
		</PromotionInfo>
		<PromotionInfo>		<!-- Spider Blood -->
			<Type>PROMOTION_SPIDER_BLOOD</Type>
			<Description>TXT_KEY_PROMOTION_SPIDER_BLOOD</Description>
			<UnitCombats>
				<UnitCombat>
					<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
					<iMaxApplications>0</iMaxApplications>
				</UnitCombat>
			</UnitCombats>
			<DamageTypeCombats>
				<DamageTypeCombat>
					<DamageType>DAMAGE_POISON</DamageType>
					<iCombat>1</iCombat>
				</DamageTypeCombat>
			</DamageTypeCombats>
			<PromotionExcludes>
			</PromotionExcludes>
			<Button>Art/Interface/Buttons/Units/Spider.dds</Button>
			<iMinLevel>-1</iMinLevel>
		</PromotionInfo>





Hope this feedback & suggestions helps, thanks for your work.
 
On the Maogata:
I actually forgot one of the leaders wasn't agnostic. I think with a bit of python I can re-enable the temples again only for the one who can adopt a religion.
Mounted Mages - the More Arcane module wasn't designed to take into account civ's from modules, and simply provides the non-unique units. To fix this I'd need to make a compatibility module, which you'd have to load with More Arcane and Maogata, and would be for the sole purpose of stopping them getting access to the mounted units. It's a small thing, and I can put that together very easily.
Forest building - I'll look into that. It should be a one-line fix to restore that functionality, as well as the addition to Ancient Forests. They might well need a minor nerf as you say, I'll do a bit of playtesting to find a good balance.

On the Doviello:
Granted, making all the Baron's units werewolves is a tad powerful. What I might do is take the ideas you've given me and make it so that the normal Lycanthropic Promotion (which normally just gives -1 terrain movement costs) and arrange it so that if you have it, and you win a fight, there's a chance to gain the regular werewolf promotion.
Thanks for the Animal Blood tweaks, I'll see about getting them added too. I don't often play the Doviello, so I didn't actually notice this one.
 
So, we have been playing around in your mod for a few days now(3 player multiplayer games) and decided the least we could do is post some feedback. So here it is:

Calabim
-Feel underwhealming in the early half of the game flavour wise. Losha or some other vampire hero/demihero could be available earlier than Fanaticism/Iron Working. Not really sure exactly.
Infernals
-Starting with Ashen Veil shouldn't be a thing.
-They seem to get rolling a tad too fast in player hands(Small sample size though, could have been lucky amount of manes spawned), maybe adjust the mane spawn rate at the start a bit?
-Using Hellification in enemy borders should cause war, maybe unless the civ is AV.
Khazad
-Could use some things to differentiate from Luchrip, in the sense, Luchrip have quite a lot of stuff Khazad don't but it's not true vice versa. Overally seem fine, just idle thought.
Lanun
-Seem perfectly fine
Mekara
-(1.2)Random crash that only affected one person(As in, no matter who played Mekara that person would crash when they moved units with Esus religion(Zaria), player originally on Mekara)
-Less Random crash, seem to happen when Hyborem was about to take Mekara last city.(Imp kills off last unit in Jamal led Mekara city)
Events
-Neutral could use some events akin to the Prophet events for good and evil, or perhaps a neutral only option in both those events that gives some small benefit. At the moment it's quite disappointing to have it pop up over and over again as them.


Note: We are playing with default modules.

With that said, we are enjoying the mod quite a bit, so thanks(and keep up) for the good work.
 
If the Mekara crashes occur in 1.3, can you provide a savegame that can recreate it? I'll try and find out what's going on there.

The Dwarves modules (AKA Khazad TNG) provides a few new benefits for the Khazad. Some of them are also available to the Luchuirp, but the majority of it is for the Khazad.

Infernal Pact on the Infernals, which is the cause of Ashen Veil being founded at the start, is actually there to ensure the Infernals are getting Manes. I can change (probably, once I look at the code) the Manes generation to not require Infernal Pact, and take that away.
Manes rate may have to be looked into, though a big part of generation does depend on having enemies in play who'll actually generate Manes.
I'll have a look at making Hellify trigger war for non-AV rival territory too. I probably should have thought of that actually, but I was sort of trying to make it work in the first place.

Thanks for the feedback, it's been added to my growing Todo list.
 
Ok, here's what I've done so far based on feedback, and will shortly be testing.

-Infernals no longer start with Infernal Pact (thus AV will no longer found turn 1), but Manes generation no longer requires the tech.
-Hellify has had the bCausesWar tag to be set, which should, well... cause war if used on rival territory.
-Maogata have temples re-enabled. A new python file has been added that should also re-disable them if you're not playing as Tasanny.
-Maogata now have a More Arcane Compatibility Module. This simply sets their Mounted Adept/Mage/Archmage units to 'none'.
-Ancient Forest added to the list of features preserved by the Maogata, and also have +1 food for the Maogata (just like normal and New Forests)
-When playing Baron Duin Halfmorn, his units no longer gain free Werewolf. Instead, any unit with the Lycanthropic promotion that is of level 6 or higher can now take Werewolf as a promotion.
-Nycidian's tweaks and additions for Doviello Animal Blood have been added and appropriately credited in the files.

I'll also see if I can reproduce the Mekara crashes myself, while also seeing if the Maogata need a slight nerf to their improvements to make up for the preservation of forests.

Thanks to bouncing some ideas off my brother, I've also got some new thoughts about what was formerly the Golem Civ, and is now... well, just Barnaxus as a Luchuirp Leader. Some python code will be necessary to make it work, but having worked with it a fair bit recently I'm fairly certain I can make things happen the way I intend.

Spoiler :

-Elder Council to be replaced by Golem College. This building allows for any of the Golem UU's to cast a spell that replaces Golem racial with the new 'Thinking Golem' racial (see below), which also applies the appropriate unitcombat, thus allowing them to gain promotions as usual. Upgrading Golems will still be disallowed, of course.
-Thinking Golem: Acts similar to regular Golem, but allows them to heal. This healing rate will be slower than that of living units, but reflects their ability to self-repair.
-Stables to be replaced by Mount Workshop. While Golems (even thinking ones) don't use horses, they will produce Golem Horses, and to do so they need the real thing as an example to work from. This allows them mounted units, while not allowing them to access them quicker than others.
-Barnaxus, as a Leader, will not be trainable. His traits will be Fallow (Because Golems don't eat) and Industrious. Agnostic was a possibility, but Thinking Golems are his thing, and Thinking Golems have the free will to adopt a religion if they wish.
-Since running Barnaxus means the Luchuirp under him have no Hero, a new Hero unit will be made available. This unit will be a Dwarf, and will act in the same manner Barnaxus usually does - however, his effect will be limited to non-thinking Golems, and the upgrade to Thinking Golem will remove Empower 1-5 to prevent this from being abused. His name is undecided, but will likely be 'Craftmaster Something'.
-Understandably, no living units (the tier 1 priests of each religion excepted) will be in Barnaxus' Luchuirp empire. Unit art can't reflect this without re-using other art. Any unit that would normally gain the Dwarf racial from playing Luchuip should have it replaced by (Thinking) Golem when playing as Barnaxus.
-Due to the Fallow trait, they need a means of growing. One of the (currently unused) XML tags is 'iInstanceCostModifier' which is applied by UnitClass. Applying it to a unit that acts like a Settler, but with the ability to be added to a city (Like Manes) means that they can 'build' their citizens, and each one costs more than the last. This way, they can't simply spam population, and aren't limited to cities that never grow.
 
If the Mekara crashes occur in 1.3, can you provide a savegame that can recreate it? I'll try and find out what's going on there.

Manes rate may have to be looked into, though a big part of generation does depend on having enemies in play who'll actually generate Manes.
The problem with the crash is that only one person experiances it, so it's basicly impossible to recreate. No idea how that would work, but there it is.
The other crash (1.2) one also affects only the one person, so don't know. It happens always on turn 403 (marathon) funny enough.

Yeah, I get the mane part, but I believe our Hyborem player got 3 manes by turn 10 or something. So take that as you will. (Again 1 game sample size)
 
-Neutral could use some events akin to the Prophet events for good and evil, or perhaps a neutral only option in both those events that gives some small benefit. At the moment it's quite disappointing to have it pop up over and over again as them.

IMHO both of those events should be one, an unidentified astrological sign, and there should be four choices: three alignment-based choices identifying it as Constellation X, Y, or Z and giving you the prophet for the usual cost, and a fourth "too poor to hire astrologers" option that gives you the research bonus.

There's also Good's ability to pick "let her go" when Spies are caught for stacking permanent +1 happiness and, of course, the infamous elven community event where Good gets a free archery range and Ljosalfar archer complete with Dexterous for completely free and everyone else can screw off.

Should either add equivalencies or (in the case of the archer) some prereqs or a lesser effect or something. Elven Archer is a pretty decent pseudo-hero, if you pop it on turn 40.

EDIT: And if you like Mekara crashes, you could take a shot at the whole "sluga entering Haunted Lands generates infinite sluga and crashes the game" bug. I don't remember offhand if sluga are undead; if they are, might be some interaction with Hauntstalk (Scions code).
 
Top Bottom