scion's palace mana mechanic

Smakemupagus

Warlord
Joined
Dec 14, 2006
Messages
113
playing 8.3

Can you ever get more than 1 palace mana as the Scions? I thought I read something in the 'pedia that implies that the Thaumaturge's Keep gets you a 2nd and 3rd mana type, but it doesn't seem to be happening. Are there tech prereqs or something too?

Thanks
 
Can you ever get more than 1 palace mana as the Scions?

IIRC there's a game option that puts a second and third mana in place. What I may be remembering is just looking at an AI Scion palace with the "extra AI mana" option on.

I thought I read something in the 'pedia that implies that the Thaumaturge's Keep gets you a 2nd and 3rd mana type, but it doesn't seem to be happening. Are there tech prereqs or something too?

That 'pedia entry needs to be updated - that's how it works in Fall Further.

In WM the Keep has the chance to randomly give Arcane units both first and second level mana-sphere promotions. There's also a chance to make a unit Enraged. IIRC the chance is 3% per turn for each.

Hmm... I just discovered how the Place Ruins mechanic works. I'm tempted to try re-jiggering the Keep so that it's more like FF, but keeping and expanding the random effects. I like the idea of the Keep giving Water mana, then exploding and damaging the city after which it gives no mana until later, say, all the Adepts with >2 xps go mad and it starts giving Entropy mana.
 
I'm experimenting with limiting mages and adepts (in both # and perhaps spell casting) to a civ's available mana. Which means the Scions need those 2 extra mana. Convenient that I'd already considered how to do that...

Here's the code in case anyone's interested. It can be added to Scions.py, with the Keep-creation spell xml pointing to it as as "PyResult".

Spoiler :

Code:
def spellBuildKeep(caster):
	pPlayer = gc.getPlayer(caster.getOwner())
	pPlot = caster.plot()
	pCity = caster.plot().getPlotCity()
	
	iChance = CyGame().getSorenRandNum(11, "Keep building roll")
	if iChance <= 0:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_DEATH')
	if iChance == 1:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_ENTROPY')
	if iChance == 2:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_EARTH')
	if iChance == 3:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_AIR')
	if iChance == 4:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_FIRE')
	if iChance == 5:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_WATER')
	if iChance == 6:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_SHADOW')
	if iChance == 7:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_CHAOS')
	if iChance == 8:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_BODY')
	if iChance == 9:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_MIND')
	if iChance == 10:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_ENCHANTMENT')
	if iChance == 11:
		iBonus = gc.getInfoTypeForString('BONUS_MANA_METAMAGIC')

	iChance2 = CyGame().getSorenRandNum(11, "Keep building roll")
	if iChance2 <= 0:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_DEATH')
	if iChance2 == 1:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_ENTROPY')
	if iChance2 == 2:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_EARTH')
	if iChance2 == 3:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_AIR')
	if iChance2 == 4:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_FIRE')
	if iChance2 == 5:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_WATER')
	if iChance2 == 6:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_SHADOW')
	if iChance2 == 7:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_CHAOS')
	if iChance2 == 8:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_BODY')
	if iChance2 == 9:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_MIND')
	if iChance2 == 10:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_ENCHANTMENT')
	if iChance2 == 11:
		iBonus2 = gc.getInfoTypeForString('BONUS_MANA_METAMAGIC')
		

	pCity.setNumRealBuilding(gc.getInfoTypeForString('BUILDING_KEEP_MAIN'), 1)			
	pCity.setBuildingBonusChange(gc.getInfoTypeForString('BUILDINGCLASS_KEEP_MAIN'),iBonus,1)
	pCity.setBuildingBonusChange(gc.getInfoTypeForString('BUILDINGCLASS_KEEP_MAIN'),iBonus2,1)


I'm not sure how I'm going to adjust the existing Keep python, if at all.

One the one hand, the above plus the existing python is a boost for the Scions.
OTOH, limiting the # of mages and adepts means that over-producing adepts, to counter-act some getting Enraged and subsequently killed, isn't really an option any more.
But if that's the case maybe I won't allow any adepts to hang around the Keep at all, effectively mooting the special functions. Which is no fun.
 
Is it possible for me to implement the code in onBuildingBuilt? I have a Amurites UB that will grant a random mana. Hmmm... need to try that out.
 
One the one hand, the above plus the existing python is a boost for the Scions.
OTOH, limiting the # of mages and adepts means that over-producing adepts, to counter-act some getting Enraged and subsequently killed, isn't really an option any more.
But if that's the case maybe I won't allow any adepts to hang around the Keep at all, effectively mooting the special functions. Which is no fun.

I have merged it, but modified it so only 1 bonus mana is added to the keep.

@esvath

unfortunately not if you use a FFH DLL
 
I have merged it, but modified it so only 1 bonus mana is added to the keep.

Neat!

I realized, btw, that with my "Limited Magic" thing I shouldn't need to change your Keep code: Adepts may be more precious, but with nerfing Dispel the randomly assigned spells are more valuable.
 
in this same game, i noticed another discrepancy between 'pedia and Scions mechanics:

i was able to have both Korina the Black, and the Risen Emperor (via the Vacant Mausoleum) as active units at the same time. My civ leaderhead is the Emperor.
 
Back
Top Bottom