Feature Requests and Discussion

Indeed. Basium needs to be protected, but he is also a strong unit so shouldn't sit back uselessly.
He should really only be sent out in stacks of 20+ units, and should only attack in 99%+ battles. Losing him really ruins the Mercurians.

If I had a choice between current behavior and "keep him on defense in the capital at all times", I'd choose the latter. I might just go into WB and give him the held promotion next game.
 
I just had the AI cast River of Blood on turn 11. Way to completely waste that World Spell, AI. Everyone has only one city, with at most 2 population. That's not a very debilitating move against us.

My personal preference for that spell is to have five cities minimum with that fifth being a fresh city.

(A turn 3 Stasis could be devastating, though).
 
The AI is deliberately coded to cast river of blood when it hits 3 pop IIRC. Casting river of blood early is a legitimate strategy because at that point civs are unlikely to have farms running and so the 2 pop hit actually sets them back more than two turns. The extra pop for your capital early means you hit happy cap and can ignore food resources in favour of better early commerce or hammers for alexis bloodpet spam.

The spell can be useful later on as well, sure, but it becomes more and more difficult to judge when it would be beneficial as the game continues so the AI goes with the simplest strategy with the most reliable reward.
 
it's true that the "optimal" strategies that are recommanded are :
-reach of size 3... so you go to 4 and all other go back to size 1, without much improved land ( a bit but not much.. so the fall is hard).
- building of second city... so push it to size 2 quickly. but then you risk having a too big capitol... and you don't put a big dent on the other civs..
 
I just thought that I'd show you a preview of the next World Builder upgrade.

Platyping made so many major changes between WorldBuilder 2 and WorldBuilder 3 that I was daunted by the task of merging and kept procrastinating it, but I think I'm finally getting the hang of the new way things work.

I still have a lot left to do to get all the FfH2/MNAI/MagisterModmod specific features integrated with all the screens of Platyping's World Builder 3.8, but the Player Data screen is now complete and working nicely.


That is to say, all of the functionality I added to Player Data screen of my previous World Builder updates has been ported over to Platyping's latest update, and made to look much nicer in the process.

I wouldn't mind making a few more improvements, but I'm not sure how much is possible without SDK changes first.


A lot of things don't seem to be working unless I have the widget display a mouseover. I'm just using the + sign as a placeholder for the alignments and traits.

(Civics, Religions, and Research display the proper mousoever information, as do the leader and civ icons. The + and - buttons and + and - mouseovers, not that I see much point in that. )

I would like to be able to show the effects of each trait within the table that now displays and controls the player's traits, but I don't think I can unless you edit the SDK to add a CyGameTextMgr().getTraitHelp(iData2, False) function.

Edit: Thanks to lfgr, I have the trait mouseovers working fine now.

(You cannot see in this screenshot, but I decided to make it so that a leaderhead's default traits appear in yellow instead of red when the player does not have them. That should make it easier to undo the effects of losing a unit that is the avatar of your leader.)

I wanted to add a generalized way to change what Feats have been accomplished, instead of programming the Sirona's Touch, Trust, and World Spell feats separately, but I'd need to have the SDK edited to include functions to find the total number of feats and to find a name for each of them.

(The toggle buttons for those 3 feats were acting up when I tried to even partially generalize them though, using the same input function but passing it a different index for each. It might be best for me to figure out the best way to handle that before having you spend your time on the SDK side of feats though.)


I meant to comment out the line which sorts of the religion list, as in my modmod I have the religions organized in the xml in a more logical order, but I suppose you migth prefer them alphabetized.
 
I would like to be able to show the effects of each trait within the table that now displays and controls the player's traits, but I don't think I can unless you edit the SDK to add a CyGameTextMgr().getTraitHelp(iData2, False) function.

Use CyGameTextMgr().parseTraits(). See here.
 
I just thought that I'd show you a preview of the next World Builder upgrade.

It looks awesome! In its present incarnation the new world builder has helped me with testing a lot so it will be great to have the new one :)

With regard to the merge, I submitted a small patch to the Magic Spheres promotion page. In MNAI, only the first promotion of each Magic Sphere was shown in this page. With this change, all of them appeared. Tholal already committed this change to the repository: https://sourceforge.net/p/tholalsffhaimod/code/1636
 
I would like to add some popups to the Player Data Screen that let us change the name of players.

I see that MNAI inherited these two functions from Revolutions:

void CyPlayer::setName(std::wstring szNewValue)

void CyPlayer::setCivName(std::wstring szNewDesc, std::wstring szNewShort, std::wstring szNewAdj)

I'm not sure how to make a popup that will pass the strings to those functions though.
 
Not hard if you refer to how it is done for unit name.

Just change it from Label to Text, with appropriate handleInput codes to trigger a corresponding popup.

Popup codes are then defined in EventManager
 
It was the EventManager portion of the code that I was missing.

I found that it is not hard to make a popup with 3 text boxes, but that it seems like only what is written in the last of them actually gets read. I had to switch to separate texts for the full, short, and adjective forms of the civilization name.


After I thought I had gotten everything working, I found that the name changes were being applied to the human player regardless of what player was selected. I guess your statement in the World Builder thread might have been right after all.


I was just about to give up and undo all that work, when I remembered that I had already implemented the ability to let the human player switch to controlling any of the AIs instead. This allows an effective workaround permitting any player to be renamed, by switching that player to be the human player before renaming it and them switching back afterwards.
 
At Prince, the AI seems to be having trouble prioritising buildings that allow it to make higher tier units. The Svartalfar especially seem to get stuck in this weird warrior/scout aggression when, if I go into worldbuilder, they have hunting. I've seen the same with hippus horsemen, grigori axemen and ljos archers.

I'll test them without building restrictions on our next game and see if they do better. If so, increasing the priority of these buildings, at least in their main unit producing towns, would probably go a long way to preventing the 'massive warrior stack 250 turns into the game' syndrome the AI currently suffers from.

*edit*

another possibility is that the AI is rating warriors too highly in terms of power? Warriors appear to be extremely power-to-cost effective, but in actuality they are cannon fodder for T2 units and huge stacks of them only serve to cripple the AI's early economy. Is there some way to teach the majority of AIs not to overdose on military units until T2 (unless it sees a nearby civ prepping for war)?
 
I'm "requesting" a tag such as "PromotionNotPresent" for spells : the spell is enabled if X promotion is not present on unit.
in fact I'm searching for the following effect
-garrison spell (available to archers within forts, castle, or city with walls) : gives the two promotions:
-garrison attack : boosts combat but removed by combat
-garrison defense : boosts defense, not removed by combat,

thus, when the unit attacks, either it leaves the garrison (1unit has been attacked), or it stays in the garrison
if it stays, I want the AI to "re-garrison"
if it is out of the garrision, I want the AI to "leave garrison".

last I don't need the AI to activate "leave garrison" while it still has the "garrison attack"

so I would like to have:

-spell "leave garrison": need garrison defense AND garrison Attack : AIweight =30 (or unallowed to AI)
-spell "re-garrison" : (if condition for garrison are met) + need garrison defense AND NOT "garrison ATTACK" AIweight 100
-spell "leave garrison 2" : need garrison defense AND NOT "garrison ATTACK" AIweight 80: (hopefully, triggered by AI as soon as having only garrison defense and not being able to cast "regarrison".).

Any idea / tip ?
(I'm currently doing it in a very roundabout way which doesnt please me)

(it is to be noted that all this would be unnecessary if the tag "removedOnUnitMove" existed which would remove the garrison promotion as soon as you leave the plot you were garrisoned in) (or the tag "RequiresCondition" which would remove the promotion if the condition for it are not met(list (as in Unit_Combat): "improvement_X", "bOnCityPlot"...etc)
 
I guess I'm ready to share the new version of Worldbuilder now.

For it to work properly, you ought to delete these things from MNAI v2.52 before copying the assets folder over it:


Python:

Assets\python\PlatyBuilder: (The whole folder, with all of its contents)

(WBBonusScreen.py
WBBuildingScreen.py
WBCorporationScreen.py
WBDiplomacyScreen.py
WBProjectScreen.py
WBPromotionScreen.py
WBSpecialistScreen.py
WBTechScreen.py)

Assets\python\Screens:

CvWorldBuilderScreen.py
CvWorldBuilderDiplomacyScreen.py

Assets\XML\Text:

Platy World Builder.xml

(I included a text file listing these within the download.)

I took 14 screenshots to show the changes, but that is more than the number of attachments the forum permits per post so I guess I cannot share them all.

Now to try to merge this with MagisterModmod...

Edit:
The MagisterMod merge is complete, and the files have been uploaded.

It may interest you to know that I do not think it is any longer necessary to load a saved game in order to delete units that are causing an AI player to stay stuck in a loop. In one test game I came across what seemed to be a WoC issue caused by one of Alexis' catapults. During her turn, I was able to open World Builder, open the Player Data Screen, switch to the Units + Cities screen, organize the Unit list by Unit ID, find the ID of the problem catapult, click on that unit in the list to take me to the Unit Data screen, and delete said unit. When I closed World Builder, Alexis's turn promptly ended and the game continued as normal.
 
Here is another update to world builder.

It includes all of the changes which Platyping made in Worldbuilder 3.9, improving the Promotions and Events screens and making more screens accessible from more other screens.

(It included a fix for a bug he introduced in the Promotions screen, which may or may not be identical to the hotfix he added after I pointed it out.)

The more versatile Events screen does still have the potential to causee python exceptions when you try to trigger certain events, but I don't think that is a particularly big deal.


I also included some TXT_KEYs which I forgot about in the last upload.
 
1. The AI can't seem to settle smaller landmasses. In my Earth game none of the civs in Asia (which included the Lanun in Japan) even made one city on the nearby islands or Australia. In my Americas game the Lanun, starting in Hispaniola, refused to settle Cuba or the nearby islands, instead placing cities in Florida and Nova Scotia. This has a severe impact on gameplay and is especially ridiculous in a Naval AI modmod because vanilla BTS AI is more than capable of it.

2. AI seems to barely explore dungeons, even when they're already powerful and have little to fear from hostile spawns. This is especially true when the dungeon is on an island.

3. The AI never ever ever destroys forts or watchtowers. They won't build any other improvements on it and they won't settle it. In fact, they won't even settle another tile over. So, in my current game, there are tons of resources in southern Chile that Beeri simply refuses to claim, having built four forts there already, and southern California has been completely ignored despite having plenty of hills and floodplains. This is near gamebreaking.
 
1. The AI can't seem to settle smaller landmasses. In my Earth game none of the civs in Asia (which included the Lanun in Japan) even made one city on the nearby islands or Australia. In my Americas game the Lanun, starting in Hispaniola, refused to settle Cuba or the nearby islands, instead placing cities in Florida and Nova Scotia. This has a severe impact on gameplay and is especially ridiculous in a Naval AI modmod because vanilla BTS AI is more than capable of it.

2. AI seems to barely explore dungeons, even when they're already powerful and have little to fear from hostile spawns. This is especially true when the dungeon is on an island.

3. The AI never ever ever destroys forts or watchtowers. They won't build any other improvements on it and they won't settle it. In fact, they won't even settle another tile over. So, in my current game, there are tons of resources in southern Chile that Beeri simply refuses to claim, having built four forts there already, and southern California has been completely ignored despite having plenty of hills and floodplains. This is near gamebreaking.

Do you have any savegames I can look at demonstrating this behavior?
 
Back
Top Bottom