[MOD] MagisterModmod

My only thoughts on the mercenaries is that they're too expensive for a unit that's pretty much certainly going to go barbarian in just a couple of turns. So I only use it in extreme short term need case. So if you're doing something well different than that, I'd like to see it. But from your description I don't really understand what it is you're doing.
 
No comments on the proposed Mercenary changes yet?


I am leaning towards moving it towards the purely spell-based mechanism.

Actually I have already implemented it that way, and would have to change it back if no one likes the idea.


The abilities which actually hire the various mercenary units require the Mercenary Recruiter promotion.

(Note that adding the mercenary recruiter promotion does break saved games.)

Magnadine starts with that promotion and can regain it from combat.

The event which formerly granted a mercenary champion instead gives the unit this new promotion.

The normal way to get the promotion is to use another ability only available to members of the team which owns the Guild of the Nine.



I also added a few more unit types, including Triremes and Frigates. Naval mercenaries would only be available in coastal cities.

The mercenaries start with the race and civ trait that they would have if trained by the player who has the dominant culture in that city. (Lanun ships are Seafaring, Ljosalfar archers are even and dexterous, etc.)

I currently have it so that the player whose culture is dominant will also get a cut of the price of hiring the mercenary, unless that player is the caster's owner. The cut is currently set at 10%, or 50% if the cultural player is Hippus.

Mercenaries hired by the Hippus never get the mercenary promotion, and so don't cost extra funds or have a chance of turning barbarian. Magnadine inspires such confidence in the mercenaries he recruits that they start with have Valor and Morale instead of the Mercenary promotion, even if this hero was captured and serving a non-Hippus player.




I'm considering a more radical chance to the mercenary mechanic now though.

Instead of limiting the ability to become a Mercenary Recruiter to the team who owns the Guild of the Nine, I'm thinking the wonder should allow it for almost everyone.

The spell would also require the Currency technology, and might requiring having contact with the wonder's owner and not being at war with that player.

The Guild's owner would receive a sizable fraction of the money paid to hire mercenaries, making it a major revenue generator. This might be instead of or in addition to the cut that goes to the units' cultural owners.


I'm also thinking of changing Magnadine's special connection to mercenaries. Instead of having a special ability to gain the Mercenary Recruiter promotion without relying on the Guild, I might give him a unique "Mesmerize Mercenary" ability. This would convert hostile mercenaries to his side, while removing the mercenary promotion so they remain loyal to his owner permanently rather than turning barbarian if not paid. This ability would also let him gain control of any disgruntled mercenaries who turned barbarian when other players could not pay their contracts.



What do you players think of that idea?

I think that's a cool idea. Judging by what you described, having the guild of the nine would be a potential revenue source for the owner. I'm not sold on the mesmerize mercenary ability though on Magnadine. In practice I think having the ability to buy mercenaries is more useful than converting mercenaries that have to fulfill those requirements you describe in order to be converted.
I personally rarely use mercenaries due to their unreliability and costs, but having the Hippus have loyal and normal costs would be in line with their civilization traits for mercenaries.
 
I'm considering a more radical chance to the mercenary mechanic now though.

Instead of limiting the ability to become a Mercenary Recruiter to the team who owns the Guild of the Nine, I'm thinking the wonder should allow it for almost everyone.

The spell would also require the Currency technology, and might requiring having contact with the wonder's owner and not being at war with that player.

The Guild's owner would receive a sizable fraction of the money paid to hire mercenaries, making it a major revenue generator. This might be instead of or in addition to the cut that goes to the units' cultural owners.


I'm also thinking of changing Magnadine's special connection to mercenaries. Instead of having a special ability to gain the Mercenary Recruiter promotion without relying on the Guild, I might give him a unique "Mesmerize Mercenary" ability. This would convert hostile mercenaries to his side, while removing the mercenary promotion so they remain loyal to his owner permanently rather than turning barbarian if not paid. This ability would also let him gain control of any disgruntled mercenaries who turned barbarian when other players could not pay their contracts.



What do you players think of that idea?
I can't say as I rarely play with mercs...
But honestly I like the feel of the change you propose...
For Margnadine... IMO it would need something more... otherwise, if there are no enemy mercs, his talent amounts to nothing.
 
How about this:

The Guild of the Nine allows mercenaries for everyone, even its owner's enemies.

The gold cost of recruiting a new mercenary is reduced to equal the hammer cost of newly building that unit (or the default version thereof), for those unit types that can be built normally. Note that this is adjusted for different game speeds.

When a player who does not own the Guild recruits a mercenary, a quarter of the cost is paid to the player who does control this wonder.

When a player recruits a mercenary of a different player's cultural type, and that other player is still alive, then a tenth of the fee goes to that other player.




The Mercenary promotion charges an additional fee each turn, equal to the unit's level plus its tier. A quarter of this fee is paid to whoever owns the Guild of the Nine. If the owner cannot afford to pay the fee, then the unit may turn Barbarian.

The Mercenary promotion would no longer have any risk of turning the unit barbarian so long as the owner has plenty of gold. This also means that players could safely delete mercenaries without them turning barbarian.

The Mercenary promotion would make a unit immune to Loyalty.

Agents of Esus gain a new "Bribe Mercenary" ability, allowing them to steal control of any mercenary units serving their rivals. It could be resisted and would cost more gold than recruiting a new mercenary, but could provide highly promoted units while depriving rivals of them. If a rival was foolish enough to defend a city only with mercenary units, then an Agent of Esus could take control of that whole army and capture the city with it.



Magnadine starts with the Mercenary Recruiter promotion, and can regain it from combat.

Magnadine can cast Mesmerize Mercenaries to gain control of mercenary units belonging to either enemies or neutral players, without needing to pay any bribes. These mercenaries gain Loyalty, Morale, and Valor, and lose Mercenary and Rebellious.

Any mercenaries recruited by Magnadine start with the same promotions they would have if he Mesmerized them from rivals.

Hippus controlled Mercenaries do not start with the Mercenary promotion, but are normal units (whom Agents of Esus cannot bribe).

The Hippus do not keep any other advantages related to mercenaries. They must pay the same recruitment fee, and don't get a larger cut of mercenary fees recruited from their culture than other players would.
 
Does anyone know why I wouldn't be able to build the Draw in this save?

I was about to wrap things up and realized I couldn't build the Draw. Is it incompatible with the Celestial Compass? I thought I saw it on my build options before I started that in my capital, but could have just been confusing it with birthright regained...

View attachment Magister Mod Mod.CivBeyondSwordSave
 
@Magister
.. it seems a good system.
 
About the mercenaries; it seems a good, thematic system, but lacking any real experience with toying with mercenary units i really don't know. If the AI constantly buys mercs if able, perhaps the balance would be broken?
 
I'm thinking I might make Mercenaries immune to Courage too; money might not be a good enough motivator to face down a dragon.



The AI does not seem keen on using the Hire Mercenary abilities. (It is using the Recruit Mercenary ability frequently, but once the units have the Mercenary Recruiter promotion they don't seem to be using that to actually hire units.)

I think the issue may be that the AI cannot easily tell the value of a spell that generates a unit in python instead of XML/C++, so it sees the spells as a waste of gold.

I could create even more spells so that there is a separate one for each unit type, which might help the AI make its decisions, but then I'm not sure how I'd go about adding the local racial or civ trait promotions to the units after they are generated. Too many spells might also slow the game.

I was thinking for a while that my prior decision to use an event might have been made to help the AI, but that can't be right as the units were still generated in python then.


After increasing the AI weights for the spells, I played a game where the logs said Charadon (who had built the Guild of the Nine) hired 2 units during the course of several dozen turns. When I searched for them in worldbuilder though I could not find any with the Mercenary promotion. They might have fought and lost Doviello duels I suppose.

At least the AI does not seem to be tanking its economy for Mercenaries.

I did block AI players from taking the Recruit Mercenary promotion when in strike, or low on gold, or when their units outnumber their enemies in that city's area, which might help.


This morning I edited the Main Screen file so that the gold rate which appears in the upper left corner does take into account all the mercenaries fees, even though the promotion uses python to subtract the gold from the player's coffers. This way those hiring mercenaries won't be surprised by sudden bankruptcies.


I also edited the Buy and Sell Slave abilities to take into account the value of the slaves' promotions. The buy slave ability gives a range of costs, which can vary based on the slave's randomly assigned race. It also lists the possible races.


I expect to release another update this weekend. I'll be busy with Habitat for Humanity for the next two days, or else I would almost guarantee it would come out tomorrow.
 
Hey Magister,

It looks like Ulric is not spawning on completion of white hand if Letum is not in the game. This prevents the illians from performing the draw/ascension. There is an error message that displays when finishing white hand when Letum is not on the map.

Obviously the work around is to turn all features on... but it does break "play now" starts.

Found one of your lore easter eggs last night - upgraded a captured dwarf RoK unit that upgraded to some sort of Tanaris related unit with ice affinity 4. I'd love to know how that fits in.

I'm massively enjoying your mod's version of the illians. Even better than the Master of Mana version (which had some nifty stuff in the magic/miracles system for them).
 
Hey Magister,

It looks like Ulric is not spawning on completion of white hand if Letum is not in the game. This prevents the illians from performing the draw/ascension. There is an error message that displays when finishing white hand when Letum is not on the map.
Good catch.

I wrote the code so that when Letum Frigus is not on the map, it should appear near the city that completes the ritual. When there is no room for the unique feature to appear, then Auric enters in that city instead.

However, I copied the code from something similar used in CustomFunctions.py while forgetting that I needed to change "self" to "cf" for it to run properly in CvEventManager.py, and for some reason passed it the improvement type rather than the plot from which to start searching.

I also made the mistake of having the function return False instead of -1 when their is no valid plot, yet always checked for -1 when using the function in other files.

It should all be working properly in the next release, which it would not be if not for you.
Obviously the work around is to turn all features on... but it does break "play now" starts.

Found one of your lore easter eggs last night - upgraded a captured dwarf RoK unit that upgraded to some sort of Tanaris related unit with ice affinity 4. I'd love to know how that fits in.

I'm massively enjoying your mod's version of the illians. Even better than the Master of Mana version (which had some nifty stuff in the magic/miracles system for them).
The Heirs of Taranis are the Illian Immortal unique units. Like Mulcarn's archangel Taranis, they are cursed with being unable to change. They cannot learn any new promotions ever, but are magic immune and heal completely after every combat. Stacks of units are useless against them. You have to be able to destroy them completely in single combat, twice in one turn, to defeat them. They are also vulnerable to the Godslayer and Netherblade though, like Auric Ascended himself.
 
I saw that in world builder you had brackets around the current player that has its turn in Player Data. Could you do that for the unit that is currently having its turn for the AI in Units and Cities?

Also I think that the mana reduction when adopting a religion is a little too much. For example, losing 2 air mana and only gaining 1 earth mana when converting to runes of Kilmorph. I think just reducing the corresponding mana type for religion by 1 would be enough. What does everyone think of this?
 
What happened to the report of he Order getting founded by the Open (or was it Close) Planar Gate spell? I tried to investigate that but could find no possible relation between the two. Maybe it was just a coincidence.

I saw that in world builder you had brackets around the current player that has its turn in Player Data. Could you do that for the unit that is currently having its turn for the AI in Units and Cities?
I would love to do so, but don't think there is any python function exposed to identify those units.

Just before coming back to this thread and finding this post I tested an attempt to do so, having found a pUnit.IsSelected() function. It did not work.
Also I think that the mana reduction when adopting a religion is a little too much. For example, losing 2 air mana and only gaining 1 earth mana when converting to runes of Kilmorph. I think just reducing the corresponding mana type for religion by 1 would be enough. What does everyone think of this?
I agree. That was my original intention. However, it is impossible. It simply won't work.

There is a quirk in the DLL which causes the game to read <iNumFreeBonuses>-1</iNumFreeBonuses> as equivalent to <iNumFreeBonuses>3</iNumFreeBonuses>, so -2 is the smallest decrease in the mana supply possible.

I mentioned this to Tholal a long time ago in the hopes that he would change edit the source code so I could reduce the mana supply by only 1. He has not done so yet. It has been long enough that I thought he might have done so and just forgot to tell me, but I just tested it and found the same issue as before.
 
What happened to the report of he Order getting founded by the Open (or was it Close) Planar Gate spell? I tried to investigate that but could find no possible relation between the two. Maybe it was just a coincidence.


I would love to do so, but don't think there is any python function exposed to identify those units.

Just before coming back to this thread and finding this post I tested an attempt to do so, having found a pUnit.IsSelected() function. It did not work.

I agree. That was my original intention. However, it is impossible. It simply won't work.

There is a quirk in the DLL which causes the game to read <iNumFreeBonuses>-1</iNumFreeBonuses> as equivalent to <iNumFreeBonuses>3</iNumFreeBonuses>, so -2 is the smallest decrease in the mana supply possible.

I mentioned this to Tholal a long time ago in the hopes that he would change edit the source code so I could reduce the mana supply by only 1. He has not done so yet. It has been long enough that I thought he might have done so and just forgot to tell me, but I just tested it and found the same issue as before.

I did more testing about the order being founded and it was a coincidence. There was an acolyte or priest or something that popped from pyre of the seraphic that I didn't notice at the same turn as me using the open planar gate spell. That's why I deleted that part of my post.

Hmm how about just removing the mana reduction for now? Especially since there are instances where I have -2 of the particular mana type when I convert to a religion.
 
I just uploaded a new version to ModDB. The same links you used for the last couple versions should work for this one, as soon as the site authorizes the update.

Edit: I just found my first bug.

In WBUnitScreen.py I was playing around last night trying to see if I could prevent the bug that happens when you use worldbuilder to force a unit to cast a spell that kills the caster.

I was not really successful, but I forgot to delete the new code this morning before my release.

I didn't think it would really matter, but now I find that it breaks the ability to perform commands like moving units when you try to do so for more than one unit at a time.

You can easily fix this issue by copying the version of WBUnitScreen.py which I shared with Tholal in here

Edit2: I decided to go ahead and upload the fixed version now, before too many people download the buggy one. I'm not bothering to change the file names. If you happen to have downloaded during the brief window where WBUnitScreen.py is broken then you may as I suggested copy it from that link. (I saw that there were 4 downloads today already, but they have been from before my upload anyway.)
 
I just made the matron essendi in the current game i'm playing. How come the caster needs fire 2 to cast pillar of flames in addition to the Matron essendi?
 
The Matron Essendi is the scepter of the High Priestess of Bhall. Originally I only allowed the current Priestesses of Bhall, the Bhall-Orcs, use the full divine power of this artifact. I then decided that was a little too Clan-specific, and so allowed it to other units with Fire II too.

---

Since my last re-upload I noticed that I put the wrong pictures for some of the Recruit Mercenary spells. (Succubi looked like Archers, Knights like Marksmen, etc.) I fixed this so that they all show the icon of the default unit they would recruit, but now I'm wondering if it would be better to just show the mercenary icon so the picture would not conflict with the details shown for any UU that might be recruited instead. What do the players think?
 
Good catch.

I wrote the code so that when Letum Frigus is not on the map, it should appear near the city that completes the ritual. When there is no room for the unique feature to appear, then Auric enters in that city instead.

I was always toying with the idea if I played the Doviello of doing the White Hand ritual if Letium Frigis was in my territory and close, and having a force ready to kill Auric and his Priests of Winter.

Does anything stop that? Seemed like a win-win, get the holy site and cripple an opponent. Of course they could probably bring him back with life III.
 
Is there an easy way to troubleshoot "Waiting for Other Civilizations" issue from logs? I'm just tired of going through the list of players and killing of their units in world builder to just to find out who is the problem now/again.....I really like this mod, but I just wish you(MagisterCultuum) would fix these "Waiting for Other Civilizations" bugs/issues, before you add new features in to the modmod. I'm sorry I don't mean to be negative, and as I said I really like your modmod, but wouldn't it be prudent to fix these issues before moving on to new things? Keep working on this great modmod it is really great.
 
Back
Top Bottom