Amurite Enhancement

Would it be too much to give the Amurites a UB of the Towers of Divination, Alteration, Elements, and Necromancy, each of which would provide an extra source of each mana type it requires?

(That would require either extra mana granting buildings and python to give them or some fairly simple sdk/schema changes to let buildings produce more than 3 types of resources. Lucky for me I've already made those sdk changes.)
 
For the concern about unit maintenece costs, I will probably add the promotion used in FF for the Jontnar's thralls. Also, while taking one city the time to build ritualists, then use them is one thing. But on the other hand, you can stock up on them and then (provided that I get the code working right) go and instantly build numerous buildings in any new city. Or it can be used to have multiple cities working together to rapidly improve a new city. As for being able to rush buildings with either slavery or money, playing as the amurites I never had enough money to do so because of trying to maximize research AND upgrade all my adepts.

Also, if I get the code to work how I want it to, you will be able to run as many different rituals at once as you have ritualists for and have techs to build. As for the guardsman promotion, I believe the Law 2 summon has the guardsman promotion (that or most of the mods change it so that it does so). If I were to decide not to give them a unit with guardsman promotion, I could instead add in sephi's modification from the wild mana mod that gives the ability to autocast spells (something that I will probably add anyways), and you could instead put a wizard in each city with autocast law 2 every turn. This would solve the problem of protecting ritualists.

For the micromanagement problem, once I start writing to teach the AI how to use it, I will probably try to find some way to automate the construction of buildings through ritualists. As it is, you can alt-build ritualists and it will crank them out until you tell them to stop, and if you want to centralize a location there is also a way to set waypoints, though I don't remember how to do this off the top of my head. As for teaching the AI how to use magic, I will probably end up stealing some of sephi's AI coding, at least for the basic magic. I will of course have to do more AI work to teach it how to use the rituals, but his AI work is a good place to start.

As for being able to use rituals to make new mana (which I proposed in my first post), it may be better to give national or world wonders that add new mana. I will make a decision one way or another after I get the building rituals working. Is there a way to allow the various towers to grant a random mana resource upon construction (aka, build tower of elements and it gives you water, air, fire, or earth randomly upon construction). Another idea would be to make the city with the tower give arcane units built in the city a random promotion that varies depending upon which tower it is (so tower of elements automatically give say fire 2 or something to units built in the city, or maybe give a random teir 3 spell, allowing more teir 3 casters even with fewer archmages, or maybe give a chance for an arcane unit to start out with channeling 3).

-Colin
 
So has Sephi. :lol: Believe in wildmana you can have up to 5 resources from one building.

In my version it is 7. :) I've even been thinking about changing it to 21 so that the Tower of Mastery can provide one of every type mana. Given the general patters in the game, I see 3, 7, and 21 as the only valid choices for the maximum number of resources a building can provide, provided it has to be hardcoded and not a dynamic array.

I'd like to see someone (probably Xienwolf) change it so that buildings can provide an arbitrary number of an arbitrary number of resources, but that is certainly above my limited C++ skills.




As far as I know, Einherjar have Guardsman only in my version (and they also have Valor). Perhaps it has been borrowed in some minor mods, but none I've downloaded. (I also mane Aureales target unitcombat_recon units and unitclass_assassins/ahadows/marksman/rathaus/alazkan units specifically plus gave them Perfect Sight, so Sun III Archmages can aggressively preempt assassination attempts.)




The easiest way to make the towers give a random mana upon construction would be to add the mana resource to the map under the city's tile rather than giving a mana granting building. In CvEventManager.py, under def onBuildingBuilt(self, argsList): add something like this for each tower:
Code:
		if iBuildingType == gc.getInfoTypeForString('BUILDING_TOWER_OF_THE_ELEMENTS'):
			lList = ['BONUS_MANA_FIRE', 'BONUS_MANA_AIR', 'BONUS_MANA_WATER', 'BONUS_MANA_WATER','BONUS_MANA_ICE]
			iBonus = gc.getInfoTypeForString(lList[CyGame().getSorenRandNum(len(lList), "Pick Mana")-1])
			pPlot.setBonusType(iBonus)

Note that since the Tower of Elements and Tower of Necromancy already trigger python when built (to give elementals or the undead the strong promotion) you might as well ad the code there instead of checking for the same building twice.


Personally I like making wonders like the Shrine of Sirona that require a type of mana to build also provide more of that mana type. I also brought back the Eternal Flame (a wonder from back in Light that required and provided mana) and made it the Clan's favorite wonder and the prereq for the new Bhall Ork unit (a disciple class Clan UU that starts with Fire I, can get Fire II, and can upgrade to an evil priest or a Mage.)


There already is a mana producing Ritual (admittedly not the type of "ritual" you are probably considering), the Rites of Oghma. I always remove the world limit from this.

I used to have a second Metamagic III spell called Sourcery that sacrificed the caster to create a new source of raw mana on its tile. I think I may bring it back, but give it a large delay instead of requiring a sacrifice.


I always like to have the Tower of Mastery grant Channeling III to arcane units (applied to units in the city). That makes Adepts level up faster, and lets Mages access all the Archmage spells (but still not get the free promotion pick or free level 3 spell spheres based on mana).



I still have serious doubts that the AI can be taught to use your system or that it wouldn't be too micromanagement intensive for more than 90% of human players.
 
hmm... channeling 3 with tower of mastery would be a good idea. The only problem is that it is a victory condition, and already requires 4 other national wonders. Really they should have a way to get more power WITHOUT already having won the game.

-Colin
 
Well, obviously I removed the prereq to have the victory condition on in order to build the thing, and personally never allow any victory but Conquest. (I'm not the type who actually plays to win, just to try out my new toys.)
 
actually, giving the tower of mastery some crazy good bonus seems just fair for those that play without that victory condition. that way they can still build the tower if so they choose, and instead of winning the game they get some uberbonus like it seems just right for something so damn expensive :D
 
(I just remembered that when you use the <bApplyFreePromotionOnMove>1 tag on a building that grants a promotion it pays no attention to who owns the unit and city, so anyone with open borders with the player who built the tower of mastery can take advantage of the free promotion.)
 
I just updated my Amurites + modmod. Great minds DO think a like, I already made some building-conjuring-spells there. It is XML only, so it would not be difficult to modify as your need.

For the AI, in my modmod, while the spells are in XML, just give a big <iAIweight>. I gave <iAIweight>500</iAIweight> for Build Wizard Tower and the AI build it as soon as it got a Meta II Wizard. The other buildings were also built nicely and the buff/curse/summon spells were also casted.

When I change the phyton, I give AI no requirements. Check def reqConclaveSpell in my CvSpellInterface.py. This is my requirement for most of my Wizard-only spells. While human play Amurites, he will have to cast the Conclave spells in a city with Wizard Tower. But when AI play Amurites, it just able to cast the spells everywhere, everytime. At least theoretically that how my phyton works :lol:

Feel free to salvage anything you like. I gobble up many from other modders too :D
 
I just updated my Amurites + modmod. Great minds DO think a like, I already made some building-conjuring-spells there. It is XML only, so it would not be difficult to modify as your need.

For the AI, in my modmod, while the spells are in XML, just give a big <iAIweight>. I gave <iAIweight>500</iAIweight> for Build Wizard Tower and the AI build it as soon as it got a Meta II Wizard. The other buildings were also built nicely and the buff/curse/summon spells were also casted.

When I change the phyton, I give AI no requirements. Check def reqConclaveSpell in my CvSpellInterface.py. This is my requirement for most of my Wizard-only spells. While human play Amurites, he will have to cast the Conclave spells in a city with Wizard Tower. But when AI play Amurites, it just able to cast the spells everywhere, everytime. At least theoretically that how my phyton works :lol:

Feel free to salvage anything you like. I gobble up many from other modders too :D
 
Ok, school has finally let down enough that I can get to work on this. So far, I have been using the xml editor that is bundled with FFH 2 (the excel file that exports to xml), and have created a promotion and a spell. The promotion is called ritualist, which for now I have given to the amurite wizard. The spell is create monument, which is allowed by the promotion ritualist, and creates a monument in the city that it was casted in. I basically stole the code from add to freak show to get the spell, and copied the channeling promotion (with a few changes) for the ritualist promotion.

However, when I tried to create a unit in XML (copying the worker, nameing it AMURITE, remove the ability to build stuff and give it the promotion ritualist), it gave me xml load errors. What do I need to do to create a unit and add it to the mod? Is it just XML work, or do I have to get into something else?

-Colin
 
I got an XML error when trying to load the game, and it didn't tell me exactly what it was, just loading unit AMURITE. After banging my head for a minute i deleted the unit AMURITE and switched the ritualist promotion to the wizard, just to make sure that was working fine.

-Colin

Edit: Recreated the unit again, this time naming it AMURITE_CITIZEN. It gave me an XML error on loading that said "UNITCLASS_AMURITE_CITIZEN in Info class was incorrect. Current XML file is: xml\Units/CIV4UnitInfos.xml" However it was still able to load unlike last time

Edit 2: With recreated unit, am able to play the game, but it broke the WB...
 
Explain what you mean please?

Just so you know, what I am using to modify the XML is the excel editor that Kael has packaged with FFH. I went into the unit section of that and used that to create the unit AMURITE_CITIZEN.

-Colin
 
Ahh - ok, I understand now. Will add that next, then move on to furthering the system for adding the buildings, etc.

-Colin
 
Ok, exams are over and I finally have time to sit down and work on this again. What I have right now is a unit, AMURITE_CITIZEN, the promotion RITUALISM, and a number of spells that operate off of that. These spells create buildings, and are unlocked by tech levels.

The next thing that I need to do is have the promotion RITUALISM allow the caster to use "Channeling" - aka, I need to steal it from amurite+. I also need to do is figure out how to change it so AMURITE_CITIZEN is named Amurite Citizen, and not worker, and to get RITUALISM to be named Ritualism, not Channeling 1. Lastly, I need to make it so that the Amurites are able to build Amurite Citizens.

Once I get these things, then I need to add in the ability for adepts and mages to reduce the cost of constructing buildings. This will probably involve going through and making a new set of spells that are almost exact copies, but only they can cast it. Once I have all that working, then I can move on to part 2 of the enhancement - enhancing their magical combat abilities.

-Colin
 
I'll update the first post later, but here is my new plan for this mod. Step one is what i've been working on - create a way for the amurites to build buildings magically instead of by hand. Due to concerns raised, further thought by me, and an effort to reduce the AI work that I would need to do, I am going to have it do the following:

All buildings are able to be constructed normally. However, they can also be constructed by Amurite Citizens, working together. For a monument that costs 60 hammers, and amurite citizens costing 30 hammers, it would take three amurite citizens casting together to construct the monument, and they would all "die" upon completion. However, if you have an adept, the adept can cast with 2 amurite citizens, totaling 60 hammers, to construct the building. Upon completion, the amurite citizens would "die", but the adept would be able to continue on doing what he normally does. Lastly, if you used a wizard, it would take 1 wizard and 1 amurite citizen. Basically, alone it takes 1.5x as many hammers for Amurite Citizens to construct buildings, 1x as many hammers with adepts, and .5x with wizards. On the other hand, Amurite Citizens are assasin fodder, so it works as a slight counter when at war (not counting the extra micromanagement and stuff). It does however allow for rapid buildup of cities, with an entire empire helping to get a new cities feet under itself. The most useful part would probably being able to build a new city and instantly construct a monument the same turn it is built, though later on it will remain useful, especially with wizards around.

Beyond this though, I have further steps planned, and that will show in the next few posts.

-Colin
 
Top Bottom