[MOD] More Naval AI

CoE is kind of a weird religion. It's supposed to be a secret, but gameplay mechanics just don't support that idea. Though I could make it so that all references to your religion type are suppressed when following CoE, it would be purely aesthetic and not change gameplay at all, so I'm not sure that it's worth the trouble.

Would be a welcome addition to multiplayer though.
 
AIs love to suicide their units when Acheron is nearby, either by attacking the city directly or by wandering around the city and being shot down by fireballs.

Making CoE completely "hidden" would be a nice touch IMO, but I don't know how much effort it would take.

Also, whenever someone completes a project, the civilization leader appear in the event text even if you have not contacted that leader. The name should be kept hidden if you have not contacted that civilization.

Sorry if I seem picky sometimes, but I love MNAI and I want to see it become even better. Thank you for your work again ;)
 
It seems that Alaszkan passes the black mirror promotion when he use the ability, to the illusion, but only when he use it it happens other units don't pass this promotion so when the illusion expire leaves a black mirror on the tile. in previous patches he culd't pass any item related promotions either but I didn't had the chance to test it here yet
And another issue is whit the AI exploring dungeons so early on lower speeds, they have a chance to spawn all kinds of enemyes and end the game :P
 
Think that code came with Advanced Diplomacy.

Yeah I was playing with both the advanced tactics and puppet state options on. Great fun!

At one point during the game there were three Faeryls. Is it possible to alter the names slightly for the second or so incarnation such as giving a number (e.g Faeryl II)? It's not a big issue, but the two surviving ones (puppets) were different shades of purple and it was difficult to distinguish them on the leaderboard.
 
At one point during the game there were three Faeryls. Is it possible to alter the names slightly for the second or so incarnation such as giving a number (e.g Faeryl II)? It's not a big issue, but the two surviving ones (puppets) were different shades of purple and it was difficult to distinguish them on the leaderboard.

I think that an issue in my code, actually, leaders should never incarnate multiple times. Could you please attach the save?
 
Hi all,

I just had Rhoanna gone AV. That seems a reather interesting choice for me. I'll see how it develops.
Howsoever I've encountered the Holy-City-to-Capital (suggested abbr.: HC2C) phenomenon as well. And I have to say that I really don't like it. What I am unsure of is, whether it is founded there due to the status of being the Capital or if it is because it's the biggest city! Could someone please shed some light into this?

Thanks! :)
 
I too had multiple instances of a leader in the first game when I tried creating puppet states after merging with my modmod. I was Hyborem (I allowed myself to start as him to better test some things), and had been at war with Thessa for a long time. Amelanchier split off from Thessa before I captured any of her cities. When I first captured one of Thessa's cities I created a puppet state, under Arendel Phaedra. When I first captured one of Amelanchier's cities I created a second puppet state, under a duplicate Thessa.



If you are going to leave the tooltips pertaining to espionage, would you mind removing Kael's DLL hardcoding that forces the GAMEOPTION_NO_ESPIONAGE option to always be active? No one has the chance to play around with reimplementing BtS espionage while that is still in place.



Is there any need for a mouseover on your nations flag to always display this?
"Unofficial 3.19 patch v 1.60
Better BTS AI v 1.02a
More Naval AI v2.0"

I find such clutter a bit annoying. I know what mod I'm playing and don't need to be constantly reminded, especially since I'm actually playing MagisterModmod and it doesn't seem to know that. How would I go about removing this, or at least changing to say what I want?
 
AIs love to suicide their units when Acheron is nearby, either by attacking the city directly or by wandering around the city and being shot down by fireballs.

Yeah, I've noticed this as well. I'm not sure why they are so interested in Acheron's city before they have powerful enough troops. I guess I need to add in some sort of hack for this situation.

Also, whenever someone completes a project, the civilization leader appear in the event text even if you have not contacted that leader. The name should be kept hidden if you have not contacted that civilization.

OK. I can try to fix that.

Warlords can be attached to heroes (for example, Barnaxus). Is that intended?

Hmm... hadn't really thought about that. You can attach Great Commanders to Heroes, correct? If so, I'll probably leave it as-is.

What I am unsure of is, whether it is founded there due to the status of being the Capital or if it is because it's the biggest city!

If the religion is flagged as the favorite religion of the civ you're playing and you found that religion, the holy city is placed in your capitol. Otherwise, the regular religion founding rules are used (whatever they might be).

I too had multiple instances of a leader in the first game when I tried creating puppet states

Puppet States can create duplicate leaders. (No, I'M the real Thessa! That other one is an imposter!) This is kind of required as there can be many Puppet States but there are only a limited number of leaders for each civ.

But there probably is some better coding that can be done here. For instance, I dont think you should be able to control more than one Puppet State for the same civ-type.

If you are going to leave the tooltips pertaining to espionage, would you mind removing Kael's DLL hardcoding that forces the GAMEOPTION_NO_ESPIONAGE option to always be active?

That should be easy enough.

Is there any need for a mouseover on your nations flag to always display this?
"Unofficial 3.19 patch v 1.60
Better BTS AI v 1.02a
More Naval AI v2.0"

I can probably dump the UP and Better AI sections, but I will be leaving the More Naval AI version.

How would I go about removing this, or at least changing to say what I want?

Code is in CvDLLWidgetData.cpp - just search for 'more naval'
 
Puppet States can create duplicate leaders. (No, I'M the real Thessa! That other one is an imposter!) This is kind of required as there can be many Puppet States but there are only a limited number of leaders for each civ.

Since the code for minor leaders is already there, they could be made available to puppet states, too. But Puppet states is c++, so it would require a python call. If you want so, I could do that.

And an idea that came to my mind just now: Puppet state leaders (and maybe revolutionaries) could be given non-personal names (like "Governor of XY" or something?) if there are no more leaders available.
 
Could you make it so that the mod name displayed in the flag mouseover is not hardcoded in the DLL, but rather something that can be change in GlobalDefinesAlt.xml? That would make it a lot easier for modmoders, and for you if you decide to take FreeTacos's advice and show the build number along with the name.



Could you make it so that the advanced tactics capture and withdraw code does not apply to summons?

I find it rather annoying when my Fireballs withdraw from combat, and especially annoying when they are captured by the enemy. I don't think that either of these should be able to happen.

(It is probably worth noting that my Fireballs are UNITCOMBAT_SIEGE. I gave all my summons unitcombats, made the Dimensional promotions cause fractions of a summons XP to be transferred to its summoners when the unit is lost, and made the Tower of Necromancy and Tower of the Elements give their respective summon types 10 xp rather than the strong promotion.)

Edit: For some reason I was expecting the advanced tactics code to be in the DLL. I just found it in CvEventManager.py, and had no trouble adding a if pWinner.getSummoner() == -1: and a if pLoser.getSummoner() == -1: statement. I'm also thinking that I may have seen fireballs withdraw in regular ffH a couple times, and decided to see about giving them a iWithdrawalProb of -100. You may can ignore that part of the post if you like.

I still think that exposing the modname to xml would be good though. I am quite hesitant to deal with compiling a dll myself again.

It probably would also be useful to follow Darkling's suggestion and modify the name of repeated incarnations of a leader.


I just got to thinking that it would also be really nice if it were possible to color code the AI player's mentions of other players in diplomacy. When I am asked to declare war on the Ljosalfar and there are 4 different Ljosalfar players in the game, I'd really like some way of knowing whether I'm about to declare war on my best friend or my worst enemy.
 
If you are going to leave the tooltips pertaining to espionage, would you mind removing Kael's DLL hardcoding that forces the GAMEOPTION_NO_ESPIONAGE option to always be active? No one has the chance to play around with reimplementing BtS espionage while that is still in place.

Could you make it so that the mod name displayed in the flag mouseover is not hardcoded in the DLL, but rather something that can be change in GlobalDefinesAlt.xml? That would make it a lot easier for modmoders, and for you if you decide to take FreeTacos's advice and show the build number along with the name.

I may want to mod espionage back in and don't like hardcoded things that could bite me. Thus, I would also appreciate if the things mentioned by Magister were not hardcoded.
 
I understand that compilation is slow and complicated to set up, and therefore it would be nice to expose some things in python instead. But in my opinion, since you can access the dll code too (just in a less simple way), other tasks such as fixing bugs should be more urgent.

I had no problems with compiling More Naval AI dll source code (available from the subversion repository) after following Asaf's guide. The tutorial is well written, simple to follow and includes links to everything that you need.


I just got to thinking that it would also be really nice if it were possible to color code the AI player's mentions of other players in diplomacy. When I am asked to declare war on the Ljosalfar and there are 4 different Ljosalfar players in the game, I'd really like some way of knowing whether I'm about to declare war on my best friend or my worst enemy.

I had this problem too. This suggestion would make things less confusing.

Also, in my current game, the Illians are spending most of their time in war against their rebel civilization. Before I made contact with them, I got a lot of "The Illian civilization has been destroyed". Since the usual leader popup does not seem to appear for rebel and puppet civs, I already knew that the Illians were in the game 80 turns before contacting them. I'm not sure of what could be a good solution for this problem, though.
 
I don't know how hard it is to add a mouse over tool tip to something, a way to address the war dec with multiple's of a race would be to add the diplomacy tool tip for the target to the war dec request.

Is there any documentation on which buildings or wonders affect the revolution stats ? Or a list of what the various warning messages mean, ie 'Financial Difficulty' is that a warning indicating you moved the research slider? or your treasury is too low? or ?

These silly AI need to know, that exploring lairs and dungeons in my cultural borders will close borders immediately and may result in a declaration of war!

Argh ... no choice to disband a barbarian city anymore?
 
Since the code for minor leaders is already there, they could be made available to puppet states, too. But Puppet states is c++, so it would require a python call. If you want so, I could do that.

That could be useful. Let me know what you need from me.

Anyone else having problems loading the scenarios?

Not that I know of. What happens when you try to load a scenario? Is it any scenario of just certain ones that are giving you trouble.

Could you make it so that the mod name displayed in the flag mouseover is not hardcoded in the DLL, but rather something that can be change in GlobalDefinesAlt.xml? That would make it a lot easier for modmoders, and for you if you decide to take FreeTacos's advice and show the build number along with the name.

I can probably do that, though I dont track build numbers. It's just me doing the builds and anything I release gets a version #.


Could you make it so that the advanced tactics capture and withdraw code does not apply to summons?

I can do that, though I'll probably just bar that code from temp summons rather than all summons

I just got to thinking that it would also be really nice if it were possible to color code the AI player's mentions of other players in diplomacy. When I am asked to declare war on the Ljosalfar and there are 4 different Ljosalfar players in the game, I'd really like some way of knowing whether I'm about to declare war on my best friend or my worst enemy.

I had this problem too. This suggestion would make things less confusing.

OK. I can also tack on the leader's name as well. Now I just have to figure out where that text is being generated.


Is there any documentation on which buildings or wonders affect the revolution stats ?

It should be displayed in the tool tip when mousing over a building and in the Sevopedia when the PS&R option is turned on.

Or a list of what the various warning messages mean, ie 'Financial Difficulty' is that a warning indicating you moved the research slider? or your treasury is too low? or ?

I was never able to find any sort of documentation explaining the internal workings of the Revolution code. Maybe lfgr has some insight.

Argh ... no choice to disband a barbarian city anymore?

Not sure what you mean. You can raze it when you capture. FFH doesn't have an option to disband cities as far as I know.
 
Not sure what you mean. You can raze it when you capture. FFH doesn't have an option to disband cities as far as I know.

I think he means with the city-capture spell the Clan-of-Embers hero uses (rantine) ...
but its only a guess. Haven't used the spell for awhile myself.

(or maybe it has something to do with culture-capturing cities?)
 
With advanced tactics and PS&R on, I culture flipped a barb city, no choice was given to accept/not accept city into civ, I let the barbs recapture, when I re-took it, there was no option to raze.

It was one space off of accessing fish + clams + pirate improvement :wallbash:

The only place I see any mention of instabilty/stability are in civics. Though I did figure out that the distance penalty is based on the distance from palace upkeep cost. So winter/summer palace / courtyard / other maintenance reducing buildings fixed that problem.
 
Back
Top Bottom