[MOD] MagisterModmod

Frostlings are usually barbarian units, mostly spawned by the Samhain ritual but also possibly by lair exploration or a certain event. Like all White Hand units, however, they will be more loyal to Auric Ulvin than to their owner once The Draw has been completed. If their owner is at war with Auric (or if the unit somehow becomes Hidden Nationality, and is not on the same team as or a vassal of Auric), they will defect whenever they get near any of Auric's cities or units.


If Samhain is postponed until after The Draw, then the Frostlings will start on Auric's side instead of being barbarians.

There is no "Frozen" civilization in this mod.
 
So I fixed the crash issues with a couple of civilizations with the unit upgrade chart. I also fixed the stubborn issue around where not all upgrade paths were showing for certain units.

You can install this by replacing the "UnitUpgradesGraph.py" file in the %MagisterModmod%/Assets/python/contrib directory with the attached.

I also made a few other modifications to units to make the chart a little more readable. However, these are separate modifications that anybody will have to do on their own, these changes aren't part of the python script that I changed.

1. Make Imps an Infernal unique unit. This one really helps, the whole chart is much harder to read because Imps upgrade to everything, and the chart automatically adjusts to optimize layout for this which means without imps the chart reflows much more intuitively.
2. Make the three Frostling units Illian-unique (helps a bit.)
3. Make Revelers and Mobius Witches Sheaim-unique (minor tweak.)
 

Attachments

Just came back after a long absence from FFH2 and I have been trying this Modmod. So far I like it a lot. Great work.

Just got stuck on the change on the Pirate Coves of the Lanun. It now says I have to guard them to make them into Ports eventually, but I am not exactly sure what this means. Can anybody enlighten me? Sorry, if this has ben discussed before and I missed it...
 
I'm thinking of changing the Grigori palace so that it grants Creation mana. It currently gives Force, Spirit, and Life. Do you think Creation should replace Life or Spirit?

Mechanically, a big reason for the change is that Creation is just harder to come by, especially for a civ that cannot found The Empyrean to get it from the holy shrine. It also boosts GPP even more than spirit does. Fertility can make up for not getting Ancient Forests. Overuse of the Muse spell could dilute the Adventurer GPP pool though.

Creation does seem appropriate thematically too though, as Amathaon does not care for worship at all and even those who do revere him prefer to express their thanks to the mortals whom he gifts with creativity. He is the polar opposite of Agares, whom Cassiel thinks all the gods are too much like.

Life tend to be one of the easiest manas to come by, and the AI often seems to overbuild it, perhaps because of its health value. Nemed sacrificing his godhood to create humanity and Sucellus giving up his original precept do fit the Grigori theme well.

Immanual Logos abandoning his goddess to care for orphans of the godwars without regard to their religion, and Sirona's acceptance of such charity as better than worship, fit Cassiel's philosophy well too.

Dragon Slayers already start with Courage, so spirit mana is a little less necessary for this civ.

So I fixed the crash issues with a couple of civilizations with the unit upgrade chart. I also fixed the stubborn issue around where not all upgrade paths were showing for certain units.

You can install this by replacing the "UnitUpgradesGraph.py" file in the %MagisterModmod%/Assets/python/contrib directory with the attached.

I also made a few other modifications to units to make the chart a little more readable. However, these are separate modifications that anybody will have to do on their own, these changes aren't part of the python script that I changed.

1. Make Imps an Infernal unique unit. This one really helps, the whole chart is much harder to read because Imps upgrade to everything, and the chart automatically adjusts to optimize layout for this which means without imps the chart reflows much more intuitively.
2. Make the three Frostling units Illian-unique (helps a bit.)
3. Make Revelers and Mobius Witches Sheaim-unique (minor tweak.)

I updated the code and made those changes, but then noticed that if I try to look at the upgrade chart from the main menu rather than from within a game I get a python error and nothing shows up. Can you make it so that it shows the default when no civ is selected?

Also, would it be possible to keep the chart organized better by unit tier? It is weird for first level disciples of different religions to be in different columns.

I also still think it odd for units like Swordsmen, which replace Axemen for like half the civs in the game, so get the special oversized UU icon.

Just came back after a long absence from FFH2 and I have been trying this Modmod. So far I like it a lot. Great work.

Just got stuck on the change on the Pirate Coves of the Lanun. It now says I have to guard them to make them into Ports eventually, but I am not exactly sure what this means. Can anybody enlighten me? Sorry, if this has ben discussed before and I missed it...

In advanced tactics mode you just have to leave a unit (with combat strength, so excluding work boats or workers) on the tile for a while.

It is really the same as land based superforts, but on water.

Since the Coves are on water, that means a ship like a Tririme, or a Water Walking unit like a Drown, or a flying unit like a Griffon.


Without advanced tactics, the upgrade should depend instead on a city working the tile.
 
I updated the code and made those changes, but then noticed that if I try to look at the upgrade chart from the main menu rather than from within a game I get a python error and nothing shows up. Can you make it so that it shows the default when no civ is selected?

Yes, that should not be too hard, I'll take a look at that.

Also, would it be possible to keep the chart organized better by unit tier? It is weird for first level disciples of different religions to be in different columns.

I noticed this myself but it's a bit harder to pull off. The code that does the actual organization of the units is quite byzantine and written by a better Python coder than I.

Let me ask this -- is there a call to make to get the tier of a unit? like .getTier() or something similar? A quick code search didn't reveal anything, and it's not in the official Sid Meier SDK as I believe tiers are an FfH-specific thing.

I also still think it odd for units like Swordsmen, which replace Axemen for like half the civs in the game, so get the special oversized UU icon.

Good point. That's a bit of an odd corner case because technically they are unique units but from a human perspective they're not so much. I could just hardcode something in the code although I dislike that for obvious reasons.
 
Let me ask this -- is there a call to make to get the tier of a unit? like .getTier() or something similar? A quick code search didn't reveal anything, and it's not in the official Sid Meier SDK as I believe tiers are an FfH-specific thing.
If you had checked CvSpellInterface.py you would find that gc.getUnitInfo(pCaster.getUnitType()).getTier() is a very common call.
 
In advanced tactics mode you just have to leave a unit (with combat strength, so excluding work boats or workers) on the tile for a while.

It is really the same as land based superforts, but on water.

Since the Coves are on water, that means a ship like a Tririme, or a Water Walking unit like a Drown, or a flying unit like a Griffon.


Without advanced tactics, the upgrade should depend instead on a city working the tile.

Right - so the difference is due to tactics mode - this hint solves it. Thanks a lot. Also means that if you start on water with the lanun, then Sailing is worth considering as first tech.
 
I'm thinking of changing the Grigori palace so that it grants Creation mana. It currently gives Force, Spirit, and Life. Do you think Creation should replace Life or Spirit?

Mechanically, a big reason for the change is that Creation is just harder to come by, especially for a civ that cannot found The Empyrean to get it from the holy shrine. It also boosts GPP even more than spirit does. Fertility can make up for not getting Ancient Forests. Overuse of the Muse spell could dilute the Adventurer GPP pool though.

Creation does seem appropriate thematically too though, as Amathaon does not care for worship at all and even those who do revere him prefer to express their thanks to the mortals whom he gifts with creativity. He is the polar opposite of Agares, whom Cassiel thinks all the gods are too much like.

Life tend to be one of the easiest manas to come by, and the AI often seems to overbuild it, perhaps because of its health value. Nemed sacrificing his godhood to create humanity and Sucellus giving up his original precept do fit the Grigori theme well.

Immanual Logos abandoning his goddess to care for orphans of the godwars without regard to their religion, and Sirona's acceptance of such charity as better than worship, fit Cassiel's philosophy well too.

Dragon Slayers already start with Courage, so spirit mana is a little less necessary for this civ.



I updated the code and made those changes, but then noticed that if I try to look at the upgrade chart from the main menu rather than from within a game I get a python error and nothing shows up. Can you make it so that it shows the default when no civ is selected?

Also, would it be possible to keep the chart organized better by unit tier? It is weird for first level disciples of different religions to be in different columns.

I also still think it odd for units like Swordsmen, which replace Axemen for like half the civs in the game, so get the special oversized UU icon.



In advanced tactics mode you just have to leave a unit (with combat strength, so excluding work boats or workers) on the tile for a while.

It is really the same as land based superforts, but on water.

Since the Coves are on water, that means a ship like a Tririme, or a Water Walking unit like a Drown, or a flying unit like a Griffon.


Without advanced tactics, the upgrade should depend instead on a city working the tile.
I believe you should ditch Life, what with it both being common, and the Grigori believe in the skill of man, so having life mana would counteract their whole idea about the medics.
 
This happens with some mods (ashes of Erebus is the same way). However, for me it seems to only occur if you switch mods and then change the settings or play or in that other mod (or bts). So as long as I only load up the one mod I play with, or upon loading up base bts do not change settings but immediately tell it to again load my preferred mod, it preserves the settings of that mod from before.

Not sure if that will be the same for you, but worth trying.

I think I figured this one out. It seems to happen with mods add new options to the options menu. So when you switch too or from these mods the ini file that stores the options gets reset. I havent found anything that can really fix this other than getting used to resetting your options each time you switch from one of these mods to another.
 
I think I figured this one out. It seems to happen with mods add new options to the options menu. So when you switch too or from these mods the ini file that stores the options gets reset. I havent found anything that can really fix this other than getting used to resetting your options each time you switch from one of these mods to another.

Honestly that's just absurdly inconvenient, I play with lots of different mods, and the only option this one adds is Nuclear dissuasion, which I will remind everybody who is paying attention is utterly pointless in a mod set in a fantasy world that doesn't even have nukes! Auric Ascended uses nuke mechanics, yes, but when he is in ply it doesn't matter what the AI thinks anymore does it?
 
You should probably ask Tholal to remove that option from his next release. It is not a change I could make on my own.
 
You should probably ask Tholal to remove that option from his next release. It is not a change I could make on my own.

But doesn't the level 3 dimensional spell use the nuke mechanics as well? So if you want to be able to transport your troops around without pissing off other nations, you would need to keep that option in
 
The description of the Nuclear Dissuasion option just says that "The Possession of Nuclear Weapons reduces the chance that your rivals will consider a conflict against you."

I could be wrong, but I don't think that has anything to do with the diplomatic penalty you get from actually using nukes. I think it merely changes the AI code so that an unused nuclear stockpile reduces the odds of a war, regardless of diplomatic bonuses or penalties.

Rifts are temporary summons, so it would make little sense to stockpile them in order to prevent wars. The dimensional sphere is (since Ceridwen's corruption) much more involved in encouraging conflict than preventing it.

The only permanent nuke in the game is Auric Ascended, and most players would already be at war with Auric before he gets that unit due to The Draw.

(Actually I think I did add a permanent nuke immortal Os-Gabella avatar hero unit a while back too, but there is currently no way to get her except through worldbuilder.)

I really don't see a point of nuclear deterrence in this mod.
 
It seems the Clan of Embers world spell, does not work as I'd expect, i.e., rather than converting barbarian units to your side, (some of) your units are "beamed" to the location of whoever is activating the spell.

Is this intended, that is, a change in the mod, or not, and, in the former case, is there maybe a list of all the changes made in the mod?
 
It was not intended. It was a mistake introduced when I changed to a slightly more efficient (although not as pretty) way of cycling through the units.

The code I copied used pPlayer, but that was already used for the caster's player so I used bPlayer to loop through Barbarian units. Unfortunately, I only changed the p to b in one of the two places that the loop requires.

As such, it checks the first Barbarian unit (and will convert that to your control if it meets the criteria) but then switches to checking your own units instead for no good reason.

This is an easy fix:

Code:
def reqForTheHorde(pCaster, eSpell=-1):
	pPlayer = gc.getPlayer(pCaster.getOwner())
	iOrc = gc.getInfoTypeForString('PROMOTION_ORC')
	iCount = 0
	bPlayer = gc.getPlayer(gc.getBARBARIAN_PLAYER())
	(loopUnit, iter) = bPlayer.firstUnit(False)
	while(loopUnit):
		if not loopUnit.isDead(): #is the unit alive and valid?
			if loopUnit.getRace() == iOrc:
				if not isWorldUnitClass(loopUnit.getUnitClassType()):
					iCount += 1
					if pCaster.isHuman():
						return True
		(loopUnit, iter) = [COLOR="Red"]p[/COLOR]Player.nextUnit(iter, False)
	map = gc.getMap()
	if pPlayer.getNumCities() > (gc.getWorldInfo(map.getWorldSize()).getTargetNumCities() - 1):
		return True
	eTeam = gc.getTeam(pCaster.getTeam())
	if eTeam.getAtWarCount(True) == 0:
		return False
	if iCount < (pPlayer.getNumCities() * 5):
		return False
	return True

def spellForTheHorde(pCaster, eSpell=-1):
	iX = pCaster.getX()
	iY = pCaster.getY()
	gc.getTeam(pCaster.getTeam()).makePeace(gc.getBARBARIAN_TEAM())
	pPlayer = gc.getPlayer(pCaster.getOwner())
	iOrc = gc.getInfoTypeForString('PROMOTION_ORC')
	bPlayer = gc.getPlayer(gc.getBARBARIAN_PLAYER())
	(loopUnit, iter) = bPlayer.firstUnit(False)
	while(loopUnit):
		if not loopUnit.isDead(): #is the unit alive and valid?
			if loopUnit.getRace() == iOrc:
				if not isWorldUnitClass(loopUnit.getUnitClassType()):
					if CyGame().getSorenRandNum(100, "For the Horde") < 50:
						newUnit = pPlayer.initUnit(loopUnit.getUnitType(), iX, iY, UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH)
						newUnit.convert(loopUnit)
		(loopUnit, iter) = [COLOR="red"]p[/COLOR]Player.nextUnit(iter, False)
 
It was not intended. It was a mistake introduced when I changed to a slightly more efficient (although not as pretty) way of cycling through the units.

The code I copied used pPlayer, but that was already used for the caster's player so I used bPlayer to loop through Barbarian units. Unfortunately, I only changed the p to b in one of the two places that the loop requires.

As such, it checks the first Barbarian unit (and will convert that to your control if it meets the criteria) but then switches to checking your own units instead for no good reason.

This is an easy fix:

Thanks. I suppose that will be fixed in a future upgrade anyway. Still, since I am no longer familiar with the Civ IV file structure - which file would I need to change?
 
It should be included in a future update, but that won't happen until after Tholal releases a new update of MNAI to fix the bugs that his 2.7Beta version introduced.

There is also some chance, although not a great one, that I might decide to more radically design the spell.

The file that needs to be changed to fix this bug is C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\Magister Modmod for FfH2\Assets\python\entrypoints\CvSpellInterface.py

The quoted code starts at line 5665, at least in my version. I forget whether I have made other changes since my last release that would shift its position.
 
Hi,
I just read a story about this mod in a German Civ. forum and I really want to play this so badly, but I seem to be too stupid. I can open the the mod, it starts, but I can't see any texts like "start a new game" "single player" etc.
If the answer is hidden within the 100 ++ pages, I'm deeply sorry, but I tried to find it with the search option without any success.

Any help is very welcome. I already tried to re-install FFH2 and this mod, but the letters are still missing.

Please help me^^

Thanks
 
Hi,
I just read a story about this mod in a German Civ. forum and I really want to play this so badly, but I seem to be too stupid. I can open the the mod, it starts, but I can't see any texts like "start a new game" "single player" etc.
If the answer is hidden within the 100 ++ pages, I'm deeply sorry, but I tried to find it with the search option without any success.

Any help is very welcome. I already tried to re-install FFH2 and this mod, but the letters are still missing.

Please help me^^

Thanks

Welcome to the forums!

Try switching the language to English (when another or no mod is active).
Also, I'm curious, where did you read that story?
 
German is provided for in most of the language-alternate entries, so this surprises me.
 
Back
Top Bottom