Excellent! Couple of issues I noticed.
Attachment 1 - some of the widgets are overly large. Looks like they're taking up two rows instead of one
Attachment 2 - A lot of the button text has these boxes at the end
The widget size seems to automatically change in order to fill the full column. I'm not really sure what I can do about it, without adding new widgets or making the columns shorter and moving some things around.
(Adding the line self.m_tabCtrlEdit.addSectionLabel("", 0) seems to be able to push the following parts of a data screen onto the next column, but it does nothing for resizing the widgets.)
Edit: What do you think of the attached layout?
The button texts all look fine on my machine. I have no idea what is going on there.
Hmmm. I'll see what I can do there. I think the religionWeights are mainly just used for flavor. If so, I'll consider just disabling them for higher difficulties, though that will also require some improvements to the AI religion-choosing code.
I would rather you not do this, as I suspect it would mess up my modmod. I do not use the Agnostic Trait, but I use a lot of ReligionWeightModifiers of -100 to block leaders from adopting certain religions. All leaders have <ReligionWeightModifier>-100 towards The Cult of the Dragon and The Children of the One. Auric has <ReligionWeightModifier>-100 towards every religion except The White Hand. Cassiel still cannot adopt any religion, but I removed the trait so that it does not hinder the spread of Children of the One.
However, this concern won't really matter any more once you implement Feature Request #121: Add a python callback for canDoReligion().
[to_xp]Gekko;12669657 said:
I'm pretty sure the religionweights get applied as a percentage to the number of cities with that religion present in your empire when AIs evaluate which state religion to choose. so -100 means even if all of them have it, to an AI it still "looks" like that religion is not present in the empire, therefore they will never adopt it. MC could probably explain this better though
Improvements to the AI religion choosing would be the next big step for MNAI in my opinion. Wildmana did a pretty good job of teaching them the importance of religious heroes, so leaders without strong flavour values would act "opportunistic" and convert to religions with heroes still available. current MNAI behaviour seems close to vanilla FFH, with the early religions generally dominating ( it's especially visible on huge maps with lots of civs, RoK is usually the most popular due to the usefulness of mining tech )
I believe that the percentage which the ReligionWeightModifiers modify technially apply to the human players as well as the AI. A ReligionWeightModifier of -100 toward a religion is supposed to make it impossible for even a human player to adopt said religion. I believe that Kael once said a ReligionWeightModifiers of -99 should still prevent an AI from ever adopting the religion, but not prevent a human from doing so.
I'm not sure if it is still the case, but I recall a while back having some issues related to how BtS lets players adopt religions not present in your cities if they are present in a teammate's cities. I'm thinking that ReligionWeightModifiers were preventing a player from "seeing" the religion in his own cities, and but not stopping him from adopting it based on its ally's cities.
Edit: When I decide to actually look through the MNAI dll source code, I got a rather different impression.
It appears that the only part that matters to a human player is this, which just blocks the religion if the ReligionWeightModifier is -100 (or less).
Code:
bool CvPlayer::canDoReligion(ReligionTypes eReligion) const
{
if (GET_TEAM(getTeam()).getHasReligionCount(eReligion) == 0)
{
return false;
}
//FfH Traits: Added by Kael 08/02/2007
if (isAgnostic())
{
return false;
}
if (!isHuman())
{
if (GC.getLeaderHeadInfo(getPersonalityType()).getReligionWeightModifier(eReligion) <= -100)
{
return false;
}
}
//FfH: End Add
return true;
}
The only other places where the ReligionWeightModifier values seem to be used are in CvPlayerAI.cpp. These lines at the end of AI_religionValue would reduce the value to 0 if the ReligionWeightModifier is -100, but it is applied after various other modifiers rather than immeidtely after counting up how present the religion is in the player's cities.
Code:
int CvPlayerAI::AI_religionValue(ReligionTypes eReligion) const
...............
//>>>>Unofficial Bug Fix: Added by Denev 2010/03/11
iValue *= 100 + GC.getLeaderHeadInfo(getPersonalityType()).getReligionWeightModifier(eReligion);
iValue /= 100;
//<<<<Unofficial Bug Fix: End Add
return iValue;
There are similar lines in
int CvPlayerAI::AI_techValue( TechTypes eTech, int iPathLength, bool bIgnoreCost, bool bAsync, int* paiBonusClassRevealed, int* paiBonusClassUnrevealed, int* paiBonusClassHave, bool bDebugLog ) const that effect how a player values a technology based on the religion it grants.
Edit: oh, I guess you found where ReligionWeightModifier is used on your own before I submitted this comment.
---
Mentioning religions and techs reminded me that I'd really like it if the great person bulb order could change based on circumstances to be more useful and lore appropriate.
I'm mostly thinking that Great Prophets should be more useful at founding new religions rather than giving you the tech for a religion that is already founded. I also think that the player's Favorite Religion and maybe ReligionWeightModifier could be taken into account when it would be possible to research multiple religion founding techs. (For Hannah the Irin, Message from the Deep should definitely be higher on the list than Way of the Forests or Way of the Earthmother.)
Alignment could effect the priority of some techs too, like Righteousness and Malevolent Designs.
I have no idea how to implement this, however, and it is probably not a very high priority.