[MOD] MagisterModmod

Open C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Magister Modmod for FfH2\Assets\XML\Art\CIV4ArtDefines_Unit.xml

Go tot about line #3507
Code:
		<UnitArtInfo>
			<Type>ART_DEF_UNIT_BRIGIT</Type>
			<Button>Art/Interface/Buttons/Units/Brigit.dds</Button>
			[COLOR="Red"]<fScale>1</fScale>[/COLOR]
			<fInterfaceScale>0.2</fInterfaceScale>
			<bActAsLand>0</bActAsLand>
			<bActAsAir>0</bActAsAir>
			<NIF>Art/Units/Heroes/Brigit/Brigit.nif</NIF>
			<KFM>Art\Units\Unique_Sumeria_Vulture\Unique_Sumerian_Vulture blood.kfm</KFM>
			<ShadowDef>
				<ShadowNIF>Art/Units/01_UnitShadows/UnitShadow.nif</ShadowNIF>
				<ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
				<fShadowScale>1</fShadowScale>
			</ShadowDef>
				<fBattleDistance>0.35</fBattleDistance>
				<fRangedDeathTime>0.31</fRangedDeathTime>
				<bActAsRanged>0</bActAsRanged>
				<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
			<AudioRunSounds>
				<AudioRunTypeLoop/>
				<AudioRunTypeEnd/>
			</AudioRunSounds>
		</UnitArtInfo>

Change that 1 to a smaller value.

<fScale> determines how big it appears in the game. <fInterfaceScale> modifies that to determine how big it should appear in the 'pedia and in the corner of the screen when the unit is selected. If you want to make the unit a lot smaller but don't want it to look tiny in the pedia, it should be increased.

Base FfH2 uses <fScale>0.52</fScale> and<fInterfaceScale>0.8</fInterfaceScale> for Brigit.

I wanted to make her bigger, and may have done so a bit too much.

Great, that is exactly what I was looking for. I thought it was odd that her model size was larger than the Mithril Golem.
 
Is there a workaround for the Lanun boat crash?

OK, found it post 807.
 
What's up with "the alternate More Naval AI DLL to make the AIs less psycho"? I don't know what that is.

Is it possible to play More Naval AI with less psycho AIs and no other changes?
Can I drop the MagisterMod DLL into a More Naval AI installation and have it just work?
Or, is there a better way to do it?
 
The DLL in my modmod is the one that Tholal attached to this post. It causes the psychotic AI code to be called only if the Aggressive AI option is active. Most players like it better that way, and Tholal has said that this change will be included in the next release.
 
Ran into a repeatable crash using this mod, from the save file hit end turn 4 times and it should ctd.

I'm using the 'o' patch for ffh, blue marble terrain and a mod that changes the appearance of cities - could one of those be causing this?
 

Attachments

  • AutoSave_AD-0068.CivBeyondSwordSave
    107.2 KB · Views: 27
I would guess that Blue Marble terrain is the problem, as there is no Blue Marble version of the art for the new terrain types I added (the hell versions of Coasts, Oceans, Tundra, and Snow).
 
I reinstalled without blue marble or the city appearance mod and tried running the save again, seemed to fix the problem.
 
I have problem with Khazad, upon researching way of the wise i get infinite waiting for other civilization(like end turn). I believe mod is correctly installed (d:\Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Magister Modmod for FfH2\)
 

Attachments

  • khazadwayofthewisebug.CivBeyondSwordSave
    146.7 KB · Views: 26
Ran into another CTD. Just hit end turn on this save.
 

Attachments

  • AutoSave_AD-0016.CivBeyondSwordSave
    125.9 KB · Views: 27
Hope this is a bug not a feature. First, plenty of good things about this mod i've seen so far. Was playing as Sidar and i like the nice focusing touches on their buildings that support theme.

My issue is while running Runes my city got chosen for the infernal capitol when they entered the world. Odd i thought and sucks as it was my best city, but okay. It did have Veil present. Then about 10 turns later my second best city gets taken as another Infernal faction surfaces. I reloaded save and checked and the city had zero revolt pressure. No warning. As both factions/cities start with several high units boosted w/ iron and it is early game this pretty much shut down my game. Annoying.

Did i just get really unlucky? Is there any way to prevent this other than closing borders to anyone who is trying to spread Veil? Makes me leery of investing in another game.
 
Must have been with high bonuses to the AI ... maybe just tone down the difficulty a bit. Flexible difficulty (and increasing difficulty) seem to work nicely.

Flexible is a little bit safer, but increasing can be a nice challenge. Either way, you won't always get stuck in the "Now Ive teched and I cannot lose!" stage.
 
Hope this is a bug not a feature. First, plenty of good things about this mod i've seen so far. Was playing as Sidar and i like the nice focusing touches on their buildings that support theme.

My issue is while running Runes my city got chosen for the infernal capitol when they entered the world. Odd i thought and sucks as it was my best city, but okay. It did have Veil present. Then about 10 turns later my second best city gets taken as another Infernal faction surfaces. I reloaded save and checked and the city had zero revolt pressure. No warning. As both factions/cities start with several high units boosted w/ iron and it is early game this pretty much shut down my game. Annoying.

Did i just get really unlucky? Is there any way to prevent this other than closing borders to anyone who is trying to spread Veil? Makes me leery of investing in another game.
It is a feature. Whenever the Infernal Pact ritual is completed, a new demon lord enters the world. If there is a valid target city, the new Infernal player will steal it. (Otherwise they enter on a semi-random title which is given a Hellfire improvement and becomes hell terrain.)

The city is chosen by this code:
Spoiler :
Code:
	def getInfernalIngress(self,iRitualistPlayer):
		iInfernal = gc.getInfoTypeForString('CIVILIZATION_INFERNAL')
		iVeil = gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL')
		iLair = gc.getInfoTypeForString('BUILDING_WYRMHOLD_ACHERON')
		iBestValue = 0
		pBestCity = -1
		for iPlayer in range(gc.getMAX_PLAYERS()):
			if iPlayer != iRitualistPlayer:
				pPlayer = gc.getPlayer(iPlayer)
				if pPlayer.isAlive() and pPlayer.getCivilizationType() != iInfernal:
					for pyCity in PyPlayer(iPlayer).getCityList():
						pCity = pyCity.GetCy()
						if pCity.isHasReligion(iVeil) and not pCity.isCapital() and pCity.getNumRealBuilding(iLair) < 1:
							iValue = pCity.getPopulation() * 100
							iValue += pCity.getCulture(iPlayer) / 3
							iValue += pCity.getNumBuildings() * 10
							iValue += pCity.getNumWorldWonders() * 200
							iValue += pCity.countNumImprovedPlots()
							iValue += pCity.isHolyCity() * 100
							if pPlayer.getStateReligion() == iVeil:
								iValue /= 2000
							if iValue > iBestValue:
								pBestCity = pCity
								iBestValue = iValue
		return pBestCity

As you can see, the player who completed the Infernal Pact ritual will not have any of its cities stolen. Neither will an Infernal Player. No player's capital city may be stolen. Only cities with AV present may be stolen, and it is much less likely that any player with the AV state religion will loose a city. (It also won't take Acheron's city.)


I allowed human players to construct the ritual in any city where the Ashen Veil religion is present, but AI players must have the AV state religion. Infernal players can never use the ritual themselves. It may only be used if at least one demon lord has not yet entered the game. It can be used a maximum of 7 times overall, and not more than 3 times by the members of any team.

Spoiler :
Code:
	def cannotCreate(self,argsList):
		pCity = argsList[0]
		eProject = argsList[1]
		bContinue = argsList[2]
		bTestVisible = argsList[3]
		iPlayer = pCity.getOwner()
		pPlayer = gc.getPlayer(iPlayer)
		eTeam = gc.getTeam(pPlayer.getTeam())
		iCiv = pPlayer.getCivilizationType()
		iStateReligion = pPlayer.getStateReligion()

		iTeam = gc.getTeam(pPlayer.getTeam())


....

		elif eProject == gc.getInfoTypeForString('PROJECT_INFERNAL_PACT'):
			if gc.getGame().isOption(GameOptionTypes.GAMEOPTION_NO_HYBOREM_OR_BASIUM):
				return True
			if iCiv == gc.getInfoTypeForString('CIVILIZATION_INFERNAL'):
				return True
			if not pCity.isHasReligion(gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL')):
				return True
			if not pPlayer.isHuman():
				if iStateReligion != gc.getInfoTypeForString('RELIGION_THE_ASHEN_VEIL'):
					return True
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_HYBOREM')):
				return False
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_JUDECCA')):
				return False
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_SALLOS')):
				return False
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_OUZZA')):
				return False
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_MERESIN')):
				return False
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_STATIUS')):
				return False
			if not CyGame().isLeaderEverActive(gc.getInfoTypeForString('LEADER_LETHE')):
				return False
			return True
Adopting AV state religion protects you, but not perfectly.

Destroying all AV players (excluding the Infernals) or convincing them to change state religions, will prevent them from using the ritual. If you use the ritual yourself, you can prevent others from using it as much.

You can remove AV from your cities to protect them. This can be done by having a priest of your state religion use the Inquisition spell (which requires the Inquisition promotion, which requires level 3 and Religious Law), by completing the Purge of the Unfaithful ritual (available at Priesthood, this ritual removes all non state religions in your territory, except form their holy cities, and causes brief periods of disorder in the process), or by spreading The Order or The Empyrean to the city (which may cause a conflict between the religions and remove one or the other of them).


I would really like to make the ritual become significantly more expensive every time it is completed, so that Infernal players won't enter the game so close to he same time. This would require an DLL change Tholal has not made for me yet though.


The thought just came to mind that the AI might be starting the production of repeatable rituals in different cities at the same time, in order to complete multiple instances more quickly. I think I'll use a bit of python to prevent this.


You can of course prevent any demon lords (or Basium) from ever entering the game at all if you use the Compact Enforced game option.
 
Thanks for the thorough explanation Magister. I like it, neat dynamic and it gives a great game reason to go after the infernals. It just took me by surprise and yeah, twice in a row before i even hit Iron Working felt a bit extreme. I'll adapt my playstyle.
 
Finally finished a game as Amurites. Nifty mod. I like a lot of the changes you did, though I'm not sure exactly how some of those changes work. For example, when a building says 'gives a free specialist if x is available', does that mean x has to be within a cities fat cross?

Also, the Amurite building cave of the ancestors says it should give bonus xp to arcane units based on a cities available mana, but I never saw any of the adepts i created getting bonus experience beyond what any other unit could get, regardless of any mana resources directly in the fat cross or just in the empire as a whole - is this intended behavior?
 
Finally finished a game as Amurites. Nifty mod. I like a lot of the changes you did, though I'm not sure exactly how some of those changes work. For example, when a building says 'gives a free specialist if x is available', does that mean x has to be within a cities fat cross?
Yes. This is actually a mechanic from vanilla BtS, used there for forest preserves.
Also, the Amurite building cave of the ancestors says it should give bonus xp to arcane units based on a cities available mana, but I never saw any of the adepts i created getting bonus experience beyond what any other unit could get, regardless of any mana resources directly in the fat cross or just in the empire as a whole - is this intended behavior?

I guess I forgot to change something (a pedia entry? a mouseover?) explaining this. That description fits what it does in base FfH2, not Magister Modmod. Here it instead allows the Cave Trials ability, which allows an arcane unit in the city to risk its life in order to gain a free promotion pick. This could theoretically let the unit get all available promotions without ever leveling up.

Units with Channeling III have a very small chance of gaining the Caswallawn promotion from the trials. This grants the caster Metamagic Affinity, an increased rate of xp gain, and reduced the chance that its targets can resist its spells. You may only have one Caswallawn at a time; a new unit getting this promotion kills the last unit to have it. The Caswallawn unit cannot gain any more benefit from the Cave Trials ability, but a Caswallawn that also has Govannon's Ethics will be able to teach archmage spells to other units on its tile.
 
Units with Channeling III have a very small chance of gaining the Caswallawn promotion from the trials. This grants the caster Metamagic Affinity, an increased rate of xp gain, and reduced the chance that its targets can resist its spells. You may only have one Caswallawn at a time; a new unit getting this promotion kills the last unit to have it. The Caswallawn unit cannot gain any more benefit from the Cave Trials ability, but a Caswallawn that also has Govannon's Ethics will be able to teach archmage spells to other units on its tile.

Good to know. Is govannon exempt from being killed for being a previous caswallawn? In this game, i definitely had two caswallawns running around by the end.

Edit: Before I forget, one last question : how much mana is necessary to get the free spell schools on arcane units? 2 seemed to give tier 1 spells, and I think 4 nodes gave you tier 2, but I never got enough for tier 3.
 
Good to know. Is govannon exempt from being killed for being a previous caswallawn? In this game, i definitely had two caswallawns running around by the end.
He shouldn't be excempt.

Maybe immortality (which could come from the Life 3 promotion) is to blame?

I think I'd like to re-write the python code for this spell anyway.

Edit: Before I forget, one last question : how much mana is necessary to get the free spell schools on arcane units? 2 seemed to give tier 1 spells, and I think 4 nodes gave you tier 2, but I never got enough for tier 3.

Even without any mana, arcane units will get the first level of their owner's patron spell sphere for free. Bannor adepts always start with Law I, Amurite adepts always start with Metamagic I, etc. The one exception is the Sidar, who do not start with Death I because they abhor the Undead. (Their Patron, Arawn, the God of Death, also hates necromancy. Necromancy is strongly opposed to the surrender that is at the heart of the sphere.)


2 mana of the same type -> free 1st level spell sphere for all you arcane units when they are created

4 mana of the same type -> free 2st level spell sphere for all you arcane units that have Channeling II when they are created (i.e., in their XML defines)

5 mana of the same type -> free 3st level spell sphere for all you arcane units that have Channeling III when they are created (i.e., in their XML defines)

Note, however, that your State Religion can change the amount of mana required.

You need 1 more Chaos mana and 1 less Law mana for free promotions under The Order.
You need 1 more Shadow mana and 1 less Sun mana for free promotions under The Empyrean.
You need 1 more Air mana and 1 less Earth mana for free promotions under The Runes of Kilmorph.
You need 1 more Ice mana and 1 less Natre mana for free promotions under The Fellowship of the Leaves.
You need 1 more Fire mana and 1 less Water mana for free promotions under The Octopus Overlords.
You need 1 more Sun mana and 1 less Shadow mana for free promotions under The Council of Esus.
You need 1 more Creation mana and 1 less Entropy mana for free promotions under The Ashen Veil.
You need 1 more Nature mana and 1 less Ice mana for free promotions under The White Hand.
 
I have tried most civs in this modmod and I must say that I have been really very very impressed by most of them (with a special mention to Elohims, Bannors, Illians and some others).

With one exception, the Amurites, that really disappointed me.

The (undocumented) behavior of the cave of ancestors is one of the reason of my disappointment.

And Govannon the other one. Maybe I am missing something or I was very unlucky, but I let Govannon stand on a stockpile of units, and after 10 or 12 turns, I just had a couple of units that got a spell. Just one (and it was a crappy one!).
Obviously, it seems underpowered with respect to the previous Govannon behavior. But it is not the real problem, something OP is not fun either. But it is just boring. In general a completely passive feature where the player just has to wait is boring. There are several passive functionnality in ffh (planar gates, resources discovery, etc), but the player always has a way to act in order to bias the probabilities in his favor (raise AC, get earth mana, etc).

IMHO, the previous Govannon behavior was better. But a passive behavior can be fun if:

1/ the learning probability is increased (say at every turn at least one unit of the pile learns at least one spell) so that the player **sees** that something happens.

2/ The player has some means to act in order to increase this probability. By, for instance, increasing the number of meta mana, or the total number of mana, or the number of mana spheres, or by building more cave of ancestors, or more units with channelling III, or by letting Govannon kill foes, etc... This way, the player has the feeling to be active and not to have to wait for the mercyfulness of the RNG.

Besides that the modmod is really amazing!!!!
 
I am playing the Illians, and I was surprised to suddendly change from neutral to good just after discovering Malevolent Design... This raises a set of questions:

1/ I though alignment was only directed by religion. Obviously it is not true, as I have been White Hand for many turns before the change (and anyway Illians have no other choice). So what did I do to deserve this change?

2/ I always imagined Auric as Evil aligned. And I was surprised to have him start as neutral (and even more to see him turn good).

3/ Being neutral, I was wondering how I could build Eidolons, that areone of the priest upgrades. (But now, I will build Paladins, though I am not sure that it is very compatible with the lore).

[Edit] Just remembered that I have freed Brigit a few turn before. Maybe that answers question 1....
 
Hey Magister, how many hammers do you have your Agent of Esus costing?
 
Top Bottom