[MOD] More Naval AI

[to_xp]Gekko;12080205 said:
Tholal, could I persuade you to make a gameplay change?

..."create battering ram ability" : spend 3 turns on a forest tile with a melee unit, and after 3 turns you get a battering ram and an unforested....fits the Doviello like a glove! siege engines are invaluable but they slow down your stack and shamen come with haste so... being able to get a siege engine while in enemy territory is a godsend. and if there's a civ in need of a boost, it's the doviello.

so I propose to change the Khazad prereq of the spell to Doviello.

honestly to me it always seemed like this was actually the way it was meant to be because it makes so much more sense...

YES!!!
This does make a lot of sense. The Doviello should be quick through the wilderness, and it seems very fitting, and also excellent gameplay. They can use enemy tiles against them (forests). I would also suggest that lumbermill improvements could generate a siege in only one turn, and that in the case of ancient forests it would have a 90% or even 100% chance of spawning a treant to defend the forest.

It also makes sense for Clan of Embers really, though the Doviello are still in need of something special I think. If it were me I'd consider giving it to Clan too, but have it take a turn or two longer (lazy workers after all!) That way they still have the option on farther away war parties, or to replenish their lost siege units, but giving the Doviello the advantage in flexibility, to retreat to the wilderness as needed, and quickly turning out new siege weapons when they regroup from the forest.

It might be getting carried away, but living off the land could be developed further into a theme. Wolves and hunters standing on pastures or camps could cast a self-buff for something like haste/regen/dance of blades that lasts two or three turns. Possibly a self-heal like a bloodpet

Units missing bronze/iron/mithril promotions might be able to aquire them by pillaging (or standing) someone else's appropriate mine - without the technology required to build the mine (they just use it, not make it). Linking it to pillaging makes it more special by limiting how many units can get some before it's gone. (might be cool for barbarians in general).

Doviello I think really need something still, and these little gameplay changes might make them fun to play as resourceful hit and run raiders in rough terrain, while Hippus uses their very different advantages to conquer the plains and grasslands.

On a different note, I always thought it would be cool if Water 3 mages could part rivers for an attack, to temporarily disable amphibious assault penalties for other units, or sun to dry them after a 3 turn cast time.
 
Do you need to keep all of those Text files separate? Kael kept all of his TXT_KEYs in a single file (CIV4GameText_FFH2.xml) and I am keeping all of my changes in another (Magister_CIV4GameText_FFH2.xml). Your TXT_KEYs are spread out over 79 different files, many of which include only one or two TXT_KEYs. This makes it much more difficult to search for a specific bit of text. It also wastes time when I have to scroll through them all to find Magister_CIV4GameText_FFH2.xml in order to change something. Would you mind consolidating those files?

Most of that came with BUG but I kind of like it that way. Keeps the text for the individual components more organized. The FFH2 file is for text specific to FFH2 while your text file is for your mod and the Puppet States text file is for the Puppet States components, etc etc.

Does your editor not include a 'search in files' function'? Makes it super easy to search through entire directories without having to know which file in particular you are looking to find.

In the following game I'm unable to rebase the hawk to Bruti.

Hawks have a limited rebase range in this mod.

Is the AI more aggressive in this mod? Playing on immortal they declare war long before borders are shared and Einion Logos declaring war on Friendly/Pleased.

Yes. If you seem weak and a likely victim, they will attack you.

Edit2: This is completely unrelated, but I don't suppose I could convince Tholal (or anyone working with him on the DLL) to add a new tag to promotions to allow units to move through impassible terrain, could I?

I'll put it on the request list.

I'd really like to let Dwarven and/or Runes units (including civilians like workers and great persons) purchase a promotion they lets them move through peaks, but I really do not want them to have flat movement costs or the ability to cross water like the bFlying tag grants.

Cant you use the <TerrainImpassables> tag in UnitInfos to achieve that?

I could not get them to go past either turn reloading from autosave. Games prior without More Naval AI didn't have a problem. I really like this mod and would rather play with than without so any suggestions?

After my next release (soon hopefully), if you get a repeatable game crash, send me a savegame from the turn before the crash and I'll try to figure out the problem.


[to_xp]Gekko;12043813 said:
IIRC, the thing that causes OOS when Infernals conquer a city is because AV gets spread to the city AFTER the popup asking to keep/raze.

it used to be BEFORE, but this meant that Infernals razing a city would ALWAYS lower the AC which was pretty lame.

Interesting. Not sure why that would cause an OOS but at least its something specific I can look into. Thanks!


I did however just get that issue I complained about before, where I get a revolution event where a city asks for me to return it to another player with whom I am still at war. This time got a screenshot.

It pretty clearly seems to be TXT_KEY_REV_CULT_PEACE_JOIN. Personally I do not think that it should be possible to have a peaceful revolution that turns over a city to a player with whom you are at war, unless the option to accept their request helps end the war.

OK. Thanks for the info. I'll add it to the bug list.


[to_xp]Gekko;12045886 said:
it seems AIs still throw early-mid game unit stacks at Acheron uselessly.

:sad:


[to_xp]Gekko;12046673 said:
something weird happened in MP yesterday: I was Lanun, switched to Hyborem and didn't OOS ( ! ) , and as hybo I was still able to build Sea Havens :D

Strange. Thanks for the bug report!


I think something ought to be done about the way that the AI values Rituals. Currently, it appears that an AI player will not consider working on a ritual while he is at war with anyone.

I'm adding in a python catch for The White Hand and Ascension with my next release. I'll take a look at the other rituals for the followup patch.


Can you make it so that certain units are allowed to upgrade outside borders?

Seems like a reasonable request. Added to the list!


[to_xp]Gekko;12047679 said:
another weirdness I realized: Hybo immediately, upon his summoning, DoWed the Embers ( by far the most powerful civ on the map ) before I could do anything with them. are they hardcoded to DoW the civ who holds the AV holy city? that would seems like the only possible explanation..

No, though he will declare on anyone his summoner was at war with. There also seem to be times where the AI will play part of the turn before the human player gets a chance to take control, so that might be the problem as well.

On another note, Kuriotates and Hyborem capping cities are the main OOS causes and as MC pointed out, most likely an easy fix. I certainly wouldn't complain.

Game also OOSs when creating a puppet state, which is odd since it doesn't OOS when creating Hyborem or Basium, but whatever, it's not game breaking as it can be solved with a quick reload.

Thanks for the reports!

I have decided the next release of the Tweakmod will use the Naval AI mod as a base.

Awesome!

[to_xp]Gekko;12051422 said:
balseraph AI uses freaks to attack instead of upgrading them

Yes. They currently overvalue Freaks and dont want to upgrade them.

Since HN units are not permitted to capture or even other team's cities normally, I think that they should be banned from airlifting to those cities too.

Added to the bug list.

[to_xp]Gekko;12068465 said:
would it be possible to enable the infernal worldspell in MP for the next release? it's just completely unfair and it's not like the summonable civs are OP either. if somebody hates it so much it can just be agreed to not use it beforehand, same as Stasis.

Sure. Any ideas why it was disabled in the first place?

I do not think it should do that, particularly because my new vassal had the barbarian trait and should have had peace with the barbarians himself if not forced to declare war on them by becoming a vassal of a player who was already at war with them.

Im a little confused with this report. So you were at war with the barbarians already?
 
Edit: I just noticed that in base FfH2, no leader actually has a favorite religion set in CIV4LeaderInfos.xml. The python is in place, but it is never actually used. This modmod however does give favorite religions to many (not all) leaders, so the code is used. Both Khazad leaders have the Runes of Kilmorph as their favorite.

Interesting. That must have come from the partial merge with the Wildmana AI that Kael did a while back. FavoriteReligion is referenced quite a bit in the DLL (and I've added some more myself).


[to_xp]Gekko;12075519 said:
there's definitely a problem with the AI marches units to a city and then failing to attack.

Should be fixed with the next release.


[to_xp]Gekko;12077500 said:
some turns later, the ljosalfar starting settler is still immobile so it seems like I've kicked them out of the game for good.

OK. I'll look into that.

[to_xp]Gekko;12077535 said:
it would be awesome if you could include some of denev's unofficial FFH patch like WM did.

I took a number of things from Denev's mod quite a while back. I'll give it another look when I have the time.

[to_xp]Gekko;12078675 said:
did you make golden hammers ( luchuirp worldspell ) not settleable anymore if dropped via disbanding the carryng unit? if so I'd change it back, it's always been considered a feature rather than an exploit.

Yes I changed it. Its an exploit IMO.

Does the function pPlayer.isHasTech(iTech): actually exist?

Yes it does. The Eyes and Ears issue must have been calling it incorrectly. It seems to be working properly elsewhere.

[to_xp]Gekko;12080205 said:
Tholal, could I persuade you to make a gameplay change? I know it's not the goal of the mod but hear me out:

I was playing a game as Khazad when I realized the existence of the "create battering ram ability" : spend 3 turns on a forest tile with a melee unit, and after 3 turns you get a battering ram and an unforested tile.

but it fits the Doviello like a glove!

Interesting idea. I probably wont include it as a part of this mod, but its easy enough to change yourself. Just change the <CivilizationPrereq> tag in SpellInfos.xml for the Battering Ram spell.


[to_xp]Gekko;12081175 said:
not a very good spot for a Kurio 2nd city :D

I'm adding a bit of code to the next release to discourage Sprawling civs from settling near too much water.

[to_xp]Gekko;12082810 said:
I've noticed the final level of the Altar of the Luonnatar and the Tower of Mastery can be rushed via gold or slaves.

At the moment I consider this a feature.
 
Most of that came with BUG but I kind of like it that way. Keeps the text for the individual components more organized. The FFH2 file is for text specific to FFH2 while your text file is for your mod and the Puppet States text file is for the Puppet States components, etc etc.

Does your editor not include a 'search in files' function'? Makes it super easy to search through entire directories without having to know which file in particular you are looking to find.
Sometimes I use PyScripter's Find in Files function. I typically prefer to edit XML files in Notepadd++, as it is better when it comes to duplicating lines without having to copy them to the clipboard, folding tags to make sure things are properly indented, changing spaces to tabs, etc. I didn't think it had a Find in Files function, but I just now saw that it does too.

I guess this isn't a big deal.
I'll put it on the request list.


Cant you use the <TerrainImpassables> tag in UnitInfos to achieve that?
That tag can makes specific units unable to move through specific terrain, at least until a <TerrainPassableTech> is set for it. Peaks don't seem to be treated like normal terrains for this purpose though. I tried, but it didn't work.

The TerrainPassableTech tag does not seem to be able to let a unit move through a tile that is impassible for any reason other than said unit's TerrainImpassible tag.

I don't think you can use those tags for promotions anyway, only specific units. I don't really want to replace all the Dwarven units with unique units.

The only promotion tag that allows a unit to move through impassible terrain is bFlying. I don't want the mountain crossing/delving dwarves to have flat movement rate or the ability to cross oceans. They shouldn't be unable to trigger Treant Defenders or be immune from Earthquakes either. They should still be able to take advantage of the Overlords High Priest spell that grants a temporary version of Water Walking. Making them basically flying units that are unable to enter water tiles would not allow that, as they would still be unable to enter said wiles with water walking.

It would also generate a lot of visual clutter to see all those units say they are unable to move through those terrains.


While on the subject of promotion tags, could I convince you to add a <UnitReligionPrereq> tag? There is already a <StateReligionPrereq> (this came with BtS) which allows to you make certain promotions only available if the unit's owner has a certain sate religion, but in FfH2 it seems like it would often be more appropriate to limit promotions based on the unit's own religion.
Im a little confused with this report. So you were at war with the barbarians already?

I guess I worded that poorly.


I was playing as the Infernals, and was at peace with the Barbarians.

(It might be worth noting that in my modmod the Infernal leaders do not actually have the Barbarian trait, as I did not want them to have the research penalty, but are still granted peace with the Barbarians when they are spawned by the Infernal Pact ritual. The player that summons the demon lord is given peace with the barbarians too.)

I liberated a city, which passed to Hafgan the Purger. He had the Barbarian Trait, but it appears that the trait is not sufficient to grant peace with the barbarians. It seems that he entered the game at war with the barbarians just like a leader without that trait would.

After gaining the vassal I no longer had peace with the barbarians. I think this is because as a master I was forced to declare war on all the teams with whom my vassal was at war.
 
No, though he will declare on anyone his summoner was at war with. There also seem to be times where the AI will play part of the turn before the human player gets a chance to take control, so that might be the problem as well.

working as intended then, I was in war with the clan so that's why.




Sure. Any ideas why it was disabled in the first place?

most likely because people whined about it :D





re: luchuirp golden hammers: well you still have to sacrifice some units so I think it's fine. it's also tons of fun and some excellent strategies were based on it ( basium rush for example ) . all in all I don't think the tradeoff is worth it, there are way more gamebreaking things in the mod that are not nearly as interesting, like being Flauros or anyone with the financial trait, elves with GoN, keelyn puppets etc. etc.
 
On another note, Kuriotates and Hyborem capping cities are the main OOS causes and as MC pointed out, most likely an easy fix. I certainly wouldn't complain.

I worded that poorly. I meant to say Kuriotates 'cause OOS with their third ring, as others have said earlier, not with capping cities. Interestingly, it seems to be an AI thing, as the Kurios don't cause an OOS when played by a human.
 
Actually I too thought the current battering ram is too weak.

However, instead of making it available for the Doviello, I just thought of making it more useful for the Khazad.

AKA, I thought of adding (1 free promo) to battering ram. (along with the EitB change of Seige allowing Mobility 1 of course) ... this allows for battering ram to become 2 movers once the Khazad have HBR ... and if not, a little extra damage wont hurt either :)
 
do the Khazad really need a boost though? they're already plenty good, kandros is probably #2 below Flauros. besides with trebs and cannons they have little use for another siege engine anyway.
 
You guys read Order of the Stick? I just had a funny thought of dwarves getting routed by trees, half of them running in terror, and the other half chopping at them with murderous fury. Oots aside, dwarves often get haste for their siege weapons, so that using their hammered siege units makes for little disadvantage in mobility, if any.
 
I just mean for the ability to be used, imho.

Perhaps a variant of the battering ram (without the free promo) could be available to the Doviello.
 
I don't remember haste for their siege weapons.

I think Rife had force 1 'accelerate' ... and MoM had a similar global spell.
 
Personally I prefer the way things work in my modmod. Create Battering Ram is not limited to any civilization, but rather to the Axeman unit. (Note that some civs have Swordsmen instead of Axemen.)

There is no spell to hasten sieve units, but siege units are able to purchase Mobility I and Commando the same as can units of other unitcombats. (Hastening siege weapons makes absolutely no sense for the Force spell, which is about balance and contracts.)
 
axeman makes sense I guess, I just think being able to get siege engines right in enemy territory is just right for the Doviello ( shamen come with haste so catapults are meh for them )
 
Yeah, it does fir them better than the Khazad I guess.

I was thinking that my way let the Doviello as well as the Khazad (and Bannor, Hippus, etc) use the ability, but then I recalled that the Doviello have Sons of Asena instead of Axemen. Maybe I should change something.
 
maybe it could be allowed for all axe type units

so axemen

sons of asena

(maybe moroi too but unnecessary rly).

So yea, probably just a second spell for Sons of Asena as well.

I like that actually ... AXEmen ... it makes sense. (chopping down trees). :)
 
[to_xp]Gekko;12090137 said:
can't you make it available to unitclass_axeman instead of unit_axeman ?

You could, but that would make it available to Swordsmen, Moroi, and Pyre Zombies too.
 
That tag can makes specific units unable to move through specific terrain, at least until a <TerrainPassableTech> is set for it. Peaks don't seem to be treated like normal terrains for this purpose though. I tried, but it didn't work.

Peaks are weird.

While on the subject of promotion tags, could I convince you to add a <UnitReligionPrereq> tag? There is already a <StateReligionPrereq> (this came with BtS) which allows to you make certain promotions only available if the unit's owner has a certain sate religion, but in FfH2 it seems like it would often be more appropriate to limit promotions based on the unit's own religion.

That also seems reasonable. Added to the Request list.

I was playing as the Infernals, and was at peace with the Barbarians.

(It might be worth noting that in my modmod the Infernal leaders do not actually have the Barbarian trait, as I did not want them to have the research penalty, but are still granted peace with the Barbarians when they are spawned by the Infernal Pact ritual. The player that summons the demon lord is given peace with the barbarians too.)

I liberated a city, which passed to Hafgan the Purger. He had the Barbarian Trait, but it appears that the trait is not sufficient to grant peace with the barbarians. It seems that he entered the game at war with the barbarians just like a leader without that trait would.

After gaining the vassal I no longer had peace with the barbarians. I think this is because as a master I was forced to declare war on all the teams with whom my vassal was at war.

OK. I understand now. Added to the Bug List.

I worded that poorly. I meant to say Kuriotates 'cause OOS with their third ring, as others have said earlier, not with capping cities. Interestingly, it seems to be an AI thing, as the Kurios don't cause an OOS when played by a human.

OK. Thanks for the clarification.
 
Top Bottom