Hollow victory on BNW at King level (mod request)

GreatBigBore

Chieftain
Joined
Jul 16, 2015
Messages
7
So my first win at King level in BNW was a disappointment. I won by bribing enough city-states to be my allies so I could vote for myself as world leader in the World Congress. This would have been ok, but just before the vote, I looked and saw that one of the AIs had tons of money and could easily have bribed just one CS away from me. I shouldn't have won the vote.

Does anyone know of an easy mod that I could do (or download) that would make the AIs smarter about that sort of thing? I'm on a Mac so I can't use CP. That is, until I get a Parallel thing going with Windows, and that's going to cost some money, so I'm trying to do what I can with Mac. Anyone have any ideas?
 
Diplomacy is the worst victory currently implemented.
First because it depends on the UN being created which is something you can achieve while staying in the middle ages the whole game as long as a single person reach information era.
And finally the AI is not bright enough to see the opportunity and buy city states to disable your win.

Another thing I will probably work on in my mod... but right now diplomacy is already harder due to the AI eating many city states throughout the game.
 
The simple solution is to disable Diplo victory, or to play on Emperor or above with Alexander in your game as an opponent... then diplo victory won't be quite so certain.
 
As a follow up to my post I just looked at the source and here is the relevant code chunk for City states competition:

Spoiler :

Code:
						// Only care if we'll actually be Allies or better 
						//NoteAcken This is a huge mistake and should depend on gold treasury as well as whether or not the UN can be won by that player !
						bMediumGiftAllies = iFriendshipWithMinor + iMediumGiftFriendship >= pMinorCivAI->GetAlliesThreshold();
						bSmallGiftAllies = iFriendshipWithMinor + iSmallGiftFriendship >= pMinorCivAI->GetAlliesThreshold();

						// If we can pass them with a small gift, great
						if(bSmallGiftAllies && iOtherPlayerFriendshipWithMinor - iFriendshipWithMinor < iSmallGiftFriendship)
						{
							iValue += /*15*/ GC.getMC_SMALL_GIFT_WEIGHT_PASS_OTHER_PLAYER();
							sGiftInfo.bQuickBoost = true;
							sGiftInfo.eMajorRival = eOtherMajor;
						}
						// If a medium gift passes them up, that's good too
						else if(bMediumGiftAllies && iOtherPlayerFriendshipWithMinor - iFriendshipWithMinor < iMediumGiftFriendship)
						{
							iValue += /*10*/ GC.getMC_GIFT_WEIGHT_PASS_OTHER_PLAYER();
							sGiftInfo.eMajorRival = eOtherMajor;
						}
						// We're behind and we can't catch up right now, so zero-out the value 
						//NoteAcken So only small and medium gift are considered to get above allied status if it's not the case nothing is done !
						else
							iValue = 0;

I have added two //NoteAcken to explain what happens. Basically the AI just look at its influence iFriendshipWithMinor, the other player influence iOtherPlayerFriendshipWithMinor and then will simply see if the difference is smaller than the influence of a medium gift. If not then it put the value at 0 and nothing happens.

That is all it checks :lol: It doesn't try to stop Diplovictory, it doesn't even try to win it. As long as someone as 40 more influence than them they'll do nothing.
This will be rather easy to fix I think.
 
...here is the relevant code chunk for City states competition...

I'm experienced at playing BNW, but not modding it. Are you doing this on a Mac? Is there some doc I can read to learn how to do it on Mac? I'm a programmer so I can understand the code you showed me, but I don't know where to find it in order to make changes. It would be great to start learning how to write my own mods, or contribute to the community like you're doing.

I asked in a different thread if there is a group working on a Mac version of the Community Patch, but I haven't heard from anyone. Do you know of any work like that going on? Is that what you're doing with your "Civ5 Balance Mod"?
 
Argh, sadly as far as i know Macs cannot run mods using a modified DLL (DLL modding being required for that kind of deep change) :(

As a result I think the mac version is restrained to simple mods using xml (Lua ?) changes.

Maybe there is a workaround to emulate windows on a mac and make it work that way ? But I don't know anything about macs really Im afraid.
 
The simple solution is to disable Diplo victory, or to play on Emperor or above with Alexander in your game as an opponent... then diplo victory won't be quite so certain.

I'm actually in an Emperor game right now where Alex got pinned in by Atilla early. He's bought ONE CS all game long and I've just finished Plastics. I've never seen anything like it.

@OP: I wouldn't turn Diplomatic Victory off simply because that prevents the AI from being able to achieve it. If it feels like an empty win, you can just avoid that victory type, but keep it as a loss type. I've only done it once myself and then only to be able to say I did each victory once.
 
Well if you do that, Diplomatic victory on Immortal/Deity would be literally impossible
 
Moderator Action: Thread title extended and moved to Creation & Customization
 
Argh, sadly as far as i know Macs cannot run mods using a modified DLL (DLL modding being required for that kind of deep change) :(

As a result I think the mac version is restrained to simple mods using xml (Lua ?) changes.

Maybe there is a workaround to emulate windows on a mac and make it work that way ? But I don't know anything about macs really Im afraid.
The reason DLL mods don't work on OSX (or Linux) is that the DLL source code released by Firaxis relies on Windows headers, VC 9.0 headers, and .lib files compiled in VC 9.0 under Windows. By contrast, I assume that Aspyr recompiled the code with OSX headers using an OSX-compatible compiler for their OSX port. I say "assume" because I know that a lot of Aspyr ports in the past used Wine-based "shells" instead of native OSX code, so they essentially ran an almost unmodified Windows version wrapped in a well-constructed shell that interfaced the program's Windows-specific calls with OSX. If a savvy user had a game (or a game demo) that used such a shell, they could rip the original game out of the shell and replace it with a Windows installation of a game of their choice (with mixed results).

I suppose you could always ask Aspyr (or Firaxis) nicely to release their OSX port's DLL source code with the Civ5 SDK, but seeing as Civ4's lead designer Soren Johnson had to do a lot of convincing of Firaxis' legal team to get the DLL source code released for Civ4, and Firaxis was fairly hesitant to release the DLL source code for Civ5 (and still is hesitant for CivBE), I doubt you'll succeed with Aspyr.

XML/SQL and Lua mods should work on OSX as well as they do in Windows, seeing as they're both platform-agnostic (XML/SQL mods only change the game's SQL database, Lua mods rely on an interpreter that is present in the OSX version and DLL calls that should work across all platforms).
 
Back
Top Bottom