Unofficial BTS 3.13 patch

A silly question to demonstrate my complete incompetence in programming or modding or anything to do with how the game actually operates: how do I know I've succesfully loaded Bhruic's patch?
I think I've followed the right steps and copied dll file into BtS assets going through program files but how do I know if its actually working?
 
I'll present my reasoning here: If you have a Master/Vassal at war with you, and the Vassal decides to leave the Master, and then the Master makes peace with you, the Vassal doesn't get peace as well. Because the Vassal has split, the Vassal (or ex-Vassal now) has to make a separate deal with you. In the case where the Master capitulates, the Vassal is going to split from the Master in the exact same fashion above. Therefore the Vassal shouldn't get a "free" peace treaty out of it. I consider that a bug. The game should work the same way in both circumstances. Now if you'd prefer that I solve that by granting a Vassal "free" peace whenever it breaks from its Master, I can do that. But I don't believe that's the prefered solution.

Oh, and I just wanted to point out that I also fully agree with:


There's nothing stopping you from making peace with the ex-Vassal if that's what you want to do. But you shouldn't be forced to.

Bh

I agree with this reasoning. It seems pretty solid.

One other thing: since the issue of AI behavior has been brought up, I would like to respectfully suggest that no alterations to AI behavior be made unless Blake himself is involved in the process. AFAIK, any AI changes made in Solver's patch were provided directly by Blake.
 
I can propably use this and still load my existing 3.13 saves, as with Solver's unoffical patch, right ?

Big thanks to Bhruic and Solver for their efforts, btw.
 
A silly question to demonstrate my complete incompetence in programming or modding or anything to do with how the game actually operates: how do I know I've succesfully loaded Bhruic's patch?
I think I've followed the right steps and copied dll file into BtS assets going through program files but how do I know if its actually working?

Go into a city screen and see if you can see the amount of culture and espionage you get for buildings. If you install the second part then you should get the Glance tab when looking at the diplo screens.
 
OR, do fort defensive bonuses not apply in enemy territory?

In addition, I'm pretty sure resources with forts on them are harder to destroy by bombing them from the air. So if you don't need the tile bonus from building a mine / well / farm etc on a resource, a fort protects it from being bombed taken out.

Things like aluminum, oil, coal and uranium are prime canidates for a fort!

Can anyone verify this? :goodjob:
 
You should definitely not be forced into peace with the vassal. Sure you've conquered the master, but what if his vassel conjured up some force and managed to capture one or two of your cities during the war. Now the war ends and you can't declare war on them for 10 turns? Not to mention that after the enforeced peace they could willingly become the vassal of another powerful civ and then you might have no hope of ever getting your cities back.
 
There's nothing stopping you from making peace with the ex-Vassal if that's what you want to do. But you shouldn't be forced to.

Bh

This pretty much clinches the argument, I'd say. (There's also a certain fun factor here!) This is confirmed, I think, by the scenario vilemerchant envisages.
 
Hey Bh, in your readme,
This dll replaces the one located at "C:\Program Files\Firaxis Games\Sid Meier's Civilizations 4\Beyond the Sword\Assets\CvGameCoreDLL.dll"

Shouldn't that be C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Assets :confused:
 
Hey Bh, in your readme,


Shouldn't that be C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Assets :confused:
NOOOOOOOOOOOOO! ;)
That would replace the Vanilla .dll and probably break it. Bhruic knows what he is doing and writing ;)
 
One other thing: since the issue of AI behavior has been brought up, I would like to respectfully suggest that no alterations to AI behavior be made unless Blake himself is involved in the process. AFAIK, any AI changes made in Solver's patch were provided directly by Blake.

That's kind of silly, imo. If you think about it, Blake was just someone who was doing a "fan patch" before Firaxis decided to pick up his code. Not to take any credit away from what he's done, I think it's some pretty amazing improvements. But there's no reason to believe they other people can't do equally good things. Not accepting a change because of who did or didn't make it doesn't make any sense to me. All changes should be evaluated on their merits (alone).

Bh
 
Shouldn't that be C:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Assets :confused:

Yeah, as ori said, that's the location of the Vanilla dll. Each expansion patch has its own dll. The location I provide is the correct (afaik) location for the BTS version of the dll.

Bh
 
That's kind of silly., imo If you think about it, Blake was just someone who was doing a "fan patch" before Firaxis decided to pick up his code. Not to take any credit away from what he's done, I think it's some pretty amazing improvements. But there's no reason to believe they other people can't do equally good things. Not accepting a change because of who did or didn't make it doesn't make any sense to me. All changes should be evaluated on their merits (alone).

Bh
I completely agree! I was a big fan of the Improved AI pre-BTS, but when Blake then came out and said that playing a game with unit spam is the right way to play Civilization, I saw Blake and his work in a completely different light.
 
Thanks, guys. I got confused. ;)

Wodan
 
All right, I got kind of carried away and fixed something else that has been bugging me forever. :mischief:

The bug is that when you mouse over a build improvement tooltip of a worker that is already building that improvement, the number of turns displayed is wrong. This is because it double counts the worker. It calculates: how many workers are already building this? One. How many will be added if the nice user clicks the button? One. (Wrong in this case.) Total two workers, so cut the time in half.

The fix is to not count new workers if they are already building that type of improvement.

CvDLLWidgetData.cpp, line 2776 (in function parseActionHelp):

Replace:

Code:
while (pSelectedUnitNode != NULL)
{
	pSelectedUnit = ::getUnit(pSelectedUnitNode->m_data);

	iNowWorkRate += pSelectedUnit->workRate(false);
	iThenWorkRate += pSelectedUnit->workRate(true);

	pSelectedUnitNode = gDLL->getInterfaceIFace()->nextSelectionListNode(pSelectedUnitNode);
}

with

Code:
while (pSelectedUnitNode != NULL)
{
	pSelectedUnit = ::getUnit(pSelectedUnitNode->m_data);

	[b]if(pSelectedUnit->getBuildType() != eBuild) {[/b]
		iNowWorkRate += pSelectedUnit->workRate(false);
		iThenWorkRate += pSelectedUnit->workRate(true);
	[b]}[/b]

	pSelectedUnitNode = gDLL->getInterfaceIFace()->nextSelectionListNode(pSelectedUnitNode);
}

I have tested this and as far as I can tell it works.
 
Update:
  • Amount of time worked taken into consideration by city plot selection (thanks SevenSpirits)
  • The Vassal of a Capitulating Civ is freed before peace treaty

The second one may need some explaining. Let's say you are at war with another Civ who has a Vassal. You manage to beat down the Master Civ to the point where it will Capitulate to you. Prior to this patch, what would happen is (in this order) the Master and Vassal would both gain peace with you. The Master would then Capitulate to you, which would free the Vassal. The problem with this was the order. Consider another case where you are at war with a Master and a Vassal, and the Vassal breaks away. Do you automatically gain peace with the Vassal? No, you continue to be at war with the Master and the Vassal.

The same should be true in the original case - the Master is Capitulating to you, not the Vassal. The Vassal shouldn't get "free" peace just because his ex-Master is becoming a Vassal - you should continue to be at war with the Vassal. That is what the patch does, it frees the Vassal from the Master before the peace treaty is signed.

Bh

This make Grimus' head hurt.

Okay... here's my reasoning, not sure if it makes sense or not or how hard it may be to program it.

The following are different scenarios and how they should be managed:

(masters and vassals will be referred to as males for clarity.)

master + vassal(s) declare war on you:

If you destroy the master, he capitulates to you, and the vassal(s) gains freedom again...

Then the vassal "should" gain peace with you as well as he separates from his master since he had no control over the war declaration made by his master... he was "dragged" into the war.
(Though, perhaps you could argue he is still responsible for his master's behavior if he willfully joined him, and didn't capitulate as a result of war with the master)

You declare war on both master + vassal(s):

If you destroy the master, he capitulates to you, and the vassal(s) gain freedom again...

Then the vassal "should not" gain peace with you as well, as he separates from his master, because you intentionally declared war on "both" of them from the start... be it that your main target was the master or the vassal.

You declare war on a civ who then capitulates to another and gains a master:

If you destroy the master, he capitulates to you, and the vassal(s) gain freedom again...

Then the vassal "should not" gain peace with you as well, as he separates from his master, because you declared war on him in the first place and he tried to thwart your efforts by bringing another civ into the mix against you (who you just stomped as well).


Okay, I'm getting tired of typing out these reasonings... Pretty much, if war was declared on "you" and the vassals had no control over the war declaration, then they should gain peace again when they gain freedom from their master.

If they intentionally declared war on you before they became a vassal, or if you intentionally declared war on them before they became a vassal, then they should not gain peace when they gain freedom from their master.

Also, if you declared war on the master knowing he had vassals, then you decalred war on all of them intentionally and nobody should gain peace unless you agree to it. So when the vassal gains freedom from his old master, then he should not gain peace with you right away.

:crazyeye: :crazyeye: :crazyeye:

How does that sound?
 
Okay, I'm getting tired of typing out these reasonings... Pretty much, if war was declared on "you" and the vassals had no control over the war declaration, then they should gain peace again when they gain freedom from their master.

If a Master + Vassal declares war on you, and you completely eliminate the Master, does the Vassal automatically get peace with you? No. Therefore, there's no reason the Vassal should automatically get peace if the Master is "eliminated" by capitulating.

Bh
 
Back
Top Bottom