Show Hidden Attitude Mod

DaveMcW

Deity
Joined
Oct 8, 2002
Messages
6,489
There are five hidden AI attitude factors that can affect your relations. This mod reveals all of them.
No more wondering why your "+5" neighbor is only cautious with you!

  • First Impression: A combination of iBaseAttitude, iBasePeaceWeight, iPeaceWeightRand, iWarmongerRespect, and iAttitudeChange.
  • Team Size: The AIs don't like permanent alliances or unbalanced teams. Unless they are on the best team!
  • High Score: Several AIs care about who has the better score.
  • Low Score: AIs are more willing to cooperate if you are both on the bottom half of the scoreboard.
  • Losing War: Losing a war makes AIs mad.

>> Download Here <<


Spoiler Screenshots :


A note to modders about altered gameplay.
Spoiler :
In order to provide 100% accuracy, the modcomp introduces some minor spoilers. If you don't want spoilers, you can comment out this line in CvPlayerAI.h
Code:
#define HIDDEN_ATTITUDE_SPOILER 1

Commenting out that line restores a few hidden modifers:

First Impression: For AI to AI relations, this number may be off by 1 (44% chance) or 2 (22% chance).
High/Low Score: Hidden until you have most or all contacts.
Losing War: Hidden for wars you are not involved in.

You can always see the full list of modifiers in debug mode.
 

Attachments

  • sham.jpg
    sham.jpg
    467 KB · Views: 5,369
This is a pretty nicely small modcomp that should be merged with a lot of SDK mods!
 
the source is invalid/incomplete:

1>CvGameTextMgr.cpp(11593) : error C2039: 'AI_getRankDifferenceAttitude' : is not a member of 'CvPlayerAI'
1> e:\--- base gamecore ---\für 3.19\------ aktuell --------\cvgamecoredll\CvPlayerAI.h(13) : see declaration of 'CvPlayerAI'
1>NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual C++ Toolkit 2003/bin/cl.exe"' : return code '0x2'
1>Stop.
1>Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"


edit: must be "AI_getBetterRankDifferenceAttitude" imo.
 
there are more errors, how could u compile a dll with those invalid files?

1>CvPlayerAI.cpp(5738) : error C2039: 'AI_getRankDifferenceAttitude' : is not a member of 'CvPlayerAI'
1> e:\--- base gamecore ---\für 3.19\------ aktuell --------\cvgamecoredll\CvPlayerAI.h(13) : see declaration of 'CvPlayerAI'
1>CvPlayerAI.cpp(5739) : error C2270: 'AI_getRankDifferenceAttitude' : modifiers not allowed on nonmember functions
1>CvPlayerAI.cpp(5744) : error C3861: 'getID': identifier not found, even with argument-dependent lookup
1>CvPlayerAI.cpp(5748) : error C2228: left of '.getWorseRankDifferenceAttitudeChange' must have class/struct/union type
1>CvPlayerAI.cpp(5748) : error C3861: 'getPersonalityType': identifier not found, even with argument-dependent lookup
1>CvPlayerAI.cpp(5752) : error C2228: left of '.getBetterRankDifferenceAttitudeChange' must have class/struct/union type
1>CvPlayerAI.cpp(5752) : error C3861: 'getPersonalityType': identifier not found, even with argument-dependent lookup
1>NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual C++ Toolkit 2003/bin/cl.exe"' : return code '0x2'
1>Stop.
1>Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"

same here as above.
 
And one question to the text:

the modifier's name is LOST war... and you are talking of "losing" the war? must the war still be active or not?

edit: hides when the war is over. that answers my question. ;)
 
Oops. I'll replace CvPlayerAI.h with the correct version.


the modifier's name is LOST war... and you are talking of "losing" the war? must the war still be active or not?

In CIV4LeaderHeadInfos.xml the number is called iLostWarAttitudeChange, so I just copied that name.
 
I load the mod and the game crash,

is it because I use 3.13?
 
Thanks for this little mod Dave. I've added it to the RevolutionDCM svn and changed the code to make it controllable in GlobalAltDefines or in the bug interface. Thanks for your effort and will acknowledge you in our mod when version 2.6 gets released (see below).
Cheers
 
Am I the only one who was initially a little alarmed when I clicked the download link and the file "sham.zip" started downloading straight away? :lol:

I'll be merging this into PIG Mod when I get the chance. Nice work, by the way!:goodjob:
 
Thanks DaveMcW, it's nice to see this going into RevDCM. Alot of mods use a RevDCM core, including the one I work on LoR, so will be putting this to good use.

Along the same vein I'd like to add a has met check to the diplo penalty for trading with a civ's worst enemy. It just bothers me that when you first meet a civ they hate you and consider you their worst enemy because a couple hundred years ago you traded metal casting with a neighbor. It's not fun, and it doesn't make much sense. Since you've been looking at and exposing the AI's attitude effects I'm hoping you'd have a good idea of how to implement such a check. I have a thread started on it in the Python and SDK forum, but I don't see an easy if statement to add in any of the code to do this simple check, and was hoping you had some ideas, or just a solution. The thread can be found here if you're interested:
http://forums.civfanatics.com/showthread.php?t=338780

Edit:
Sephi posted working code in the linked thread above, tested it and it works perfectly :)
 
You should split up AI_getRankDifferenceAttitude into two seperate functions. If not the wrong text often shows as Pfeffersack explains here.

Thanks for the modcomp by the way!
 
Am I the only one who was initially a little alarmed when I clicked the download link and the file "sham.zip" started downloading straight away? :lol:

Yeah, but I thought that was a tongue-in-cheek comment about the hidden AI diplomacy modifiers. ;)

I have a few suggestions for the text lines for the general mod. These are the ones that I will be modding in:

  • First Impression: Unchanged, I think the original is fine.
  • Team Size: We feel threatened by your diplomatic efforts.
  • Better Rank: Your civilization is not too impressive.
  • Low Rank: We are afraid of your civilization's might.
  • Low Score: Unchanged as well.
  • Losing War: The war is not going well for us.
 
  • Better Rank: Your civilization is not too impressive.
  • Low Rank: We are afraid of your civilization's might.
  • Losing War: The war is not going well for us.

Thanks, I added these with slight changes.

I don't like the team message though.
 
How about?:

Team size:
"We feel threatened by your diplomatic success."

Better rank:
"Your civilization is less impressive than ours."

I take this to mean "we think you are cute but inferior to us" but can't find the right word for it....

Cheers
 
Top Bottom