Snoopy/Dale unofficial patch

Dale

Mohawk Games Developer
Joined
Mar 14, 2002
Messages
7,584
Civ4 Col: Unofficial Patch 1.03

This file is the fan's unofficial patch.

What this patch is:
This patch addresses identified bugs within C4C. It resolves each bug using the same methods as originally programmed in C4C to ensure full compatibility with existing code. This patch should be the base that all players play off, and all modders begin from in creating their own mods.

What this patch is NOT:
This patch does NOT address balance issues within C4C. As there is usually strong debate surrounding balance issues, and correct resolution (if any), this unofficial patch will NOT address balance issues. This will be left up to individual modders to include their own balance resolutions for the community.

Note:

This patch resolves all known bugs up to 27th October 2008 unless noted below.
Thread: here

Installation:

Download: here

As a Mod:
1. Open the Civ4 Col installation folder (default C:\Program Files\Sid Meiers Colonization\).
2. Create a new folder called "Mods" if it does not already exist, and open it.
3. Unzip the downloaded zip file to this folder (it will create a new folder called "Patch" within this folder).
4. Start Civ4 Col and select ADVANCED then LOAD MOD then PATCH.
5. When the game restarts at the top-right of the menu will display the word "Patch" to indicate that it is loaded correctly. Play as normal.

Patch 1.03 bug-fixes:

REF:
Fixed * King increases taxes after WoI.
Fixed * King increases REF after WoI.
Fixed * King demands gold after WoI.
Fixed * City with none of specified good and non-coastal can be mentioned in party text.
Fixed * When the King pops up for a tax hike, can press F1 to bring up domestic advisor and alter goods in city before throwing party.

AI:
Fixed * AI does not use King's transports after turn 90 for treasures, even if it still doesn't have a galleon.
Fixed * AI does not consider treasure on other continents (thus doesn't load them and remove them to Europe).
Fixed * AI doesn't change strategy to arming up in preparation for WoI, it changes strategy on the turn it declares (thus has one turn to buy an army in Europe).

EDUCATION:
Fixed * Multiple colonists can't graduate even if turns remaining is zero.

MAPS:
Fixed * Regenerating map does not reset REF (every regeneration increases REF by initial size. EG: 8/4/4/4 to 16/8/8/8).
Fixed * Europe sea zone now removed from map when plot erased (bug in Map Regeneration where a land tile could become a europe tile).
Fixed * AI does not settle in user-made custom scenarios.
EXE issue (Firaxis to fix). * WB crashes placing river on edge plots.

UNITS:
Fixed * Terrain double movement from promotions does not work (eg: Swamp Fox II doesn't apply to marsh even though it is set to).
Fixed * Units don't unstack when entering native training (first colonist out can't move till second complete bug).
Fixed * Ships don't unstack when going to/from Europe (first ship returning can't move till second returns bug, and ship stuck in Europe bug).
Fixed * Defensive bonus for armed natives reversed as matched to unarmed natives (mounted/unmounted reversed).
Fixed * Unit Cycling Bug where cycling stops (reload fixes)

TRADE:
Fixed * Blockaded goods count against player for tax rise threshold.
Fixed * King's blockades don't clear after WoI is won.
Fixed * Warehouse overflow sales don't count against player for King's taxes and totalTradedYield.
Fixed * Native settlements change desired good when not supplied with the good in trades.
Fixed * CvDLLWidgetData parseAssignTradeRoute bug with button labels back to front.
Fixed * Resource depletion bug where yields are calculated before production.
* Can't select transports correctly when there are more than a screen full of trade routes.

PEDIA:
Fixed * Pedia: GG concept entry talks about free upgrades and retaining full experience when doing so
Fixed * Pedia: Information about FFs which give a boost to native relations should explicitely mention auto-peace
Fixed * Rename to Colonizapedia
Fixed * GameTextMgr's setBasicUnitHelp bug showing wrong transport type.

MISC:
Fixed * iRequiredTransportSize in Civ4UnitInfos.xml not used to determine cargo size (in code it's defined as size 1).
Fixed * Two players same country, converts from missions gets mixed up whose mission it was.
Fixed * Exploration points not tripled in marathon (even though FF are).
Fixed * Pilgrim king doesn't let you respawn.
 
First version of the fan's unofficial bug-fix only patch posted.

Note: This is NOT Snoopy/Dale's PatchMod which addresses bugs & balance issues. That is available in the Creation sub-forum.
 
Clarification:

iRequiredTransportSize in Civ4UnitInfos.xml not used to determine cargo size (in code it's defined as size 1).

Some may remember my solution to connect cargosize to this tag in the xml. The solution in this patch is much more flexible and a BETTER solution than the one originally in AoD2 and PatchMod.

In Civ4UnitInfos.xml there are two tags (one new):
iRequiredTransportSize: specifies the minimum size of ship required for the unit to load
iBerthSize (new): specifies how many berths the unit takes on the ship

I have set the default iBerthSize as 1 (so a unit takes 1 cargo space on the ship) if undefined in the xml. You only need to define this tag if you want a value other than 1. I have set treasure at size 6 (so look at UNIT_TREASURE for an example of this tag's usage). This means that a treasure requires a ship of at least 6 cargo holds to be able to be loaded onto it, and that the number of cargo holds the unit takes is 6. If you specify treasure as transportsize 6 and berthsize 1 then a treasure requires a galleon to load onto, and only takes 1 cargo hold of space (so you can load other stuff on the ship with the treasure).

This solution gives the best of both worlds. :)
 
New bugs (from bug and tech support forum):

- King maintains blockades after WoI (unconfirmed)
- Privateers can't enter enemy territory (unconfirmed)
 
Patch 1.00 bug-fixes:

TRADE:
Fixed * Warehouse overflow sales don't count against player for King's taxes and totalTradedYield.


I do not believe this is a bug. One allready resieve only 50% of money, it should not count for taxes increase. Otherwize anyone who achieve sea supperiority has too big advantage. So, I think this fix actially introduce a bug.
 
I do not believe this is a bug. One allready resieve only 50% of money, it should not count for taxes increase. Otherwize anyone who achieve sea supperiority has too big advantage. So, I think this fix actially introduce a bug.
In all fairness, total sea superiority should completely cut you off, but that's not my point. It's good that this trade now counts against the player, since you're still trading with the King.
 
It could be considered a ballancing issue. Seens they claim they do not do ballancing, it is not a bug.
 
Hmm, nice mod. Though if you can educate the indian converts in cities, why not in the villages of the indians as well?

You can. This is not PatchMod. This just fixes the bugs in the game.
 
I do not believe this is a bug. One allready resieve only 50% of money, it should not count for taxes increase. Otherwize anyone who achieve sea supperiority has too big advantage. So, I think this fix actially introduce a bug.

It's supposed to count against total goods traded.
 
It should not. In practical gameplay using automated trade routes cheap resources often overflow. One can get easy 600+ limber for example one tunrn and back to 300 next. If this automatic selling such cheap stuff for nothing will count game automation will become unusable. Please, DO NOT DRASTICALLY CHANGE BALLANCE BY YOUR PACH!
Of fix game automation, giving option to prevent warehouse overflow or automatic sell.
For god sake, THINK!
 
It does not apply to overflow, it applies to the sale to Europe that your warehouse expansion does.

If you dump too many goods in your warehouse, and it overflows and the warehouse dumps some goods, they are not counted. Only when your warehouse expansion sells to Europe.
 
Dale,
Can any parts of this be used with the AoDII?
 
Not yet, but they will be transfered in the next week or two. :)
 
If itotalTradeYield refers to gold (As the name "yield" implies), then i could accept the change, but if it refers to number of sold goods, then overflowing warehouse expansions could raise taxes far too quickly by selling raw material.

Besides how could the goods be possilbly sold to Europe without crossing the ocean. A simple fix would be be just to change the Name "Warehouse Expansion" to "Factory Outlet Store".
 
If itotalTradeYield refers to gold (As the name "yield" implies), then i could accept the change, but if it refers to number of sold goods, then overflowing warehouse expansions could raise taxes far too quickly by selling raw material.

Besides how could the goods be possilbly sold to Europe without crossing the ocean. A simple fix would be be just to change the Name "Warehouse Expansion" to "Factory Outlet Store".

Take a look at the following line of code directly from CvCity::doYields() specifically relating to warehouse expansion sales:

Code:
int iProfit = getOverflowYieldSellPercent() * GET_PLAYER(getOwnerINLINE()).getSellToEuropeProfit(eYield, iLoss) / 100;

It is ACTUALLY saying that the profit (gold YOU get) is the overflow sold at yield sell percent (50% for warehouse expansion under default rules) multiplied by the sell to Europe profit margin (which is adjusted for tax). This means if you have 50% tax at the King, you receive 25% of the actual sale price (-50% for ware house cost, -50% of that for Kings tax).

So if the product is being sold as a European good, being taxed as a European good, then it MUST be counted as a European good. So I added the following:
Code:
						// PatchMod: Record warehouse trades START
						CvPlayer& kPlayerEurope = GET_PLAYER(GET_PLAYER(getOwnerINLINE()).getParent());
						GET_PLAYER(getOwnerINLINE()).changeYieldTradedTotal(eYield, iLoss);
						kPlayerEurope.changeYieldTradedTotal(eYield, iLoss);
						GC.getGameINLINE().changeYieldBoughtTotal(kPlayerEurope.getID(), eYield, -iLoss);
						// PatchMod: Record warehouse trades END

You'll notice it wasn't even adding it to the total game's total trade either. Three bugs fixed:
1. Not counted as player trade.
2. Not counted as Europe trade.
3. Not counted as game trade.
 
Just put yourself into the wooden clogs of a dutch merchant, it's perfectly reasonable that they calculate the yield after taxes, which is the best price they can get. The 50% discount at the "Colonists Dress for Less (no savages allowed)" is for not having to deal with transport and dangers to lose goods to privateers. [/dream]

But unfortunately you are right, because items banned from european trade can't be sold via warehouse either :sad:, the same applies to the option Democracy after the DoI. Which essentially means that warehouse expansions sell stuff to invisible traders, who transport it to europe for a fee of 50%.

Apparently rising tax is an essential prelude to the struggle for independence - a core game element - unavoidable - set in stone.
 
So, not automated warehouse sell they increase taxes? That make automation unusable.
I am sorry, but you should consider the fast that it was ommitted by reason or fix automation to avoide overflow warehouses.
You can not have one with out other and I do not undestand how you can insist of adding this BUG which make part of the game unusable!
For god sake stop DAMAGE the game!
 
Top Bottom