[BtS] Merged Mod

As it turns out, I forgot to download Wolfschanze.
 
Actually, I have now reverted to a totally stock version of the mod. I deleted it and started over fresh and I still have the same result. Light Bombers do a max of 70%, which should kill ships with EXTRA_MAX_DAMAGE setting of 30. However, if the ship gets below 70% damage, my planes will not attack it again. If I mass attack the ship with several planes, I can sink it. However, if the mass does not sink it, I must wait for it to heal back up above the normal threshold before I can order another attack.

I've tracked this one down... it's the Lead from Behind modcomp that's acting up. It could potentially be the same issue with ships not intercepting. I'll try to fix it asap.
 
Is there also a patch that fixes the no opening menu music?
 
The opening music is back in the next version, I promise! :)

During the fixing of the airbombing bug, I've realized something interesting: The code that deals with airunits doing damage to ground/sea units is a little peculiar (this is unmodded code). As an example, I will take a Light Bomber attacking a Heavy Cruiser. The LB has a strength of 14, and the HC has a strength of 34. The LB gets a 10% bonus versus any sea units. Now, the way the code works, the LB will do around 20% of damage to the HC. The 20% is calculated from the full heath strength of the HC, so one round of bombing takes away roughly 6.8 health from the HC. The next bombing run will do the same amount of damage. Now, what happens if we bomb a Missile Cruiser instead. This boat has a strength of 42. In this case, the code makes the LB do 19% of damage to the MC - which is only 1% less than what it did to the HC! The health taken away is equal to 7.98, so it's actually higher than in the HC case.

There are some funny effects at work here:

First of all, the +10% vs. air almost don't matter. Even if I set it to 100%, the damage done only goes up from 20% to 27% in the LB vs. HC case.

Second of all, there is nearly no difference in the damage done from the HC to the MC. This is because that as soon as the attacker:defender ratio drops below 1 (i.e. the defender is stronger than the attacker), the damage done as a percentage of defender health drops very slowly from 30.0% at 1:1 to 16.7% at 1:4. Going the other way on the scale, at a 4:1 ratio the damage done is 55.4%. But you rarely get to those ratios in CIV - 4:1 is equivalent to a Stealth Bomber attacking a Frigate!

Third, the effects of airstrikes to ships might be too low. I've just shown that it takes two Stealth Bomber attacks to kill a Frigate (each attack takes away 55% of base health). And it takes five LB attacks against a HC (and six to take out the MC, by the way).

What do people think of this? Now I'm at it, I think I might as well try to balance this better. But what would be a better balance?
 
Okay, attached to this post is a fine beta version of the CvGameCoreDLL.dll. Unzip it and replace the one located at Mods\Merged Mod 1.11\Assets (you could back up the old one). This file fixes a few things:

* Ships can now intercept again
* Aircraft with a airCombatLimit of 70 and above are again lethal to ships
* The annoying display of "Can see submarines" in the Civilopedia has been fixed
* Updated to Better BTS AI 0.84b

I didn't do anything about balancing airstrikes (see above) yet, as I just wanted to hear if there were any opinions about the issue. The music is also no fixed, as it's not pertaining to this file! :) There are some other xml things I've changed, but those will have to wait for the next full version (amongst other things, subs now get -50% when defending in Coastal tiles).

I'm not sure if this file is save compatible, it might not be. So please finish your old games, if you are in an interesting position!
 

Attachments

Re: Air Bombing Effects

Would it be possible to set it up so aircraft have a "chance to hit" value as well as a damage value? What I'm referring to here is similar to table top games like Crimson Skies or D&D where not every attack will succeed.

If I understand the current mechanics, every time an aircraft attacks, it will score damage as long as it's not intercepted. I'm not sure if it will after an interception, though. What I am suggesting is give the aircraft a chance to hit the ship whether it's intercepted or not. Even if the aircraft isn't intercepted, it may not hit it's target. When it does score a hit, damage would be something like double or triple what it is now. You could also put in something like a critical hit chance that would sink the ship instantly. Interceptions would be calculated before the attack, and damage dealt (and maybe chance to hit) would be scaled down per damage taken from the interception. I would also scale the damage via era the same as it is now for ships vs. older ships. A LB attacking an age of sail frigate should be a near automatic kill. Same with an early fighter attacking a missile cruiser should be a near suicide mission.

Not sure how hard this would be. It may be a bit more complex than you were planning on. Also, it would be rather easy to make aircraft way too powerful here. You don't want it so a single LB can sink a Battleship in one attack everytime or even most times. It should have a small chance to sink it, and it should be able to in maybe 3 or 4 strikes. DD and CAs ought to be something like 2 or 3 air strikes to sink. CVs should be about the same at about 3 air strikes. I also like the idea I had PMed you about critically damaged ships possibly sinking every turn they are in critical damage.

Lets see some other ideas. Not sure how good mine is since I just came up with it in the last half hour or so.
 
If an aircraft is intercepted, it aborts its mission. However, even when intercepted, the interceptor (which might not be the same as the attacker's target) also takes some damage (I think it's typically 5-10%). But currently, the damage dealt in succesful bombing attack is very consistent. I suppose some variability in the damage would be desirable, and it would also be nice with a critical hit chance. And the critical chance hit should perhaps increase when the attacker:defender ratio goes up... hm, much to ponder...
 
If an aircraft is intercepted, it aborts its mission. However, even when intercepted, the interceptor (which might not be the same as the attacker's target) also takes some damage (I think it's typically 5-10%). But currently, the damage dealt in succesful bombing attack is very consistent. I suppose some variability in the damage would be desirable, and it would also be nice with a critical hit chance. And the critical chance hit should perhaps increase when the attacker:defender ratio goes up... hm, much to ponder...

I don't know that I would make the damage itself vary that much. If a torpedo hits a ship, it'll often do the same or similar damage each time. Where damage variability comes in would be the critical hit situation, where a torpedo strikes a powder magazine or fuel tank and causes excessive damage to the ship.

I haven't played many games with aircraft, and in the past the AI didn't use aircraft very well, so I didn't know that intercepted aircraft abort their attack. That pretty much takes care of the chance to hit issues I mentioned.

I had something else I was going to mention, but I can't remember it right now. If I remember I'll post it up.
 
Because I am working on an updated dll (the 1.12), but the one in the released mod is still 1.11. I've had a few requests on pm's to release the source for the beta dll in post 825, and that's what I've done. :)

I expect to be able to release a 1.12 version of the full mod within two weeks, I've just been busy with work lately.
 
Arrg. I've been trying to compile the new code with a modified makefile, and every time I get the following error message in the compiler.
Spoiler :
Performing Makefile project actions
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGame.cpp /FoFinal_Release/CvGame.obj
CvGame.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGameAI.cpp /FoFinal_Release/CvGameAI.obj
CvGameAI.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGameCoreDLL.cpp /FoFinal_Release/CvGameCoreDLL.obj
CvGameCoreDLL.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGameCoreUtils.cpp /FoFinal_Release/CvGameCoreUtils.obj
CvGameCoreUtils.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGameInterface.cpp /FoFinal_Release/CvGameInterface.obj
CvGameInterface.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGameTextMgr.cpp /FoFinal_Release/CvGameTextMgr.obj
CvGameTextMgr.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvGlobals.cpp /FoFinal_Release/CvGlobals.obj
CvGlobals.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvHallOfFameInfo.cpp /FoFinal_Release/CvHallOfFameInfo.obj
CvHallOfFameInfo.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvInfoWater.cpp /FoFinal_Release/CvInfoWater.obj
CvInfoWater.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvInfos.cpp /FoFinal_Release/CvInfos.obj
CvInfos.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvInitCore.cpp /FoFinal_Release/CvInitCore.obj
CvInitCore.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvMap.cpp /FoFinal_Release/CvMap.obj
CvMap.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvMapGenerator.cpp /FoFinal_Release/CvMapGenerator.obj
CvMapGenerator.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvMessageControl.cpp /FoFinal_Release/CvMessageControl.obj
CvMessageControl.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvMessageData.cpp /FoFinal_Release/CvMessageData.obj
CvMessageData.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvPlayer.cpp /FoFinal_Release/CvPlayer.obj
CvPlayer.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvPlayerAI.cpp /FoFinal_Release/CvPlayerAI.obj
CvPlayerAI.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvPlot.cpp /FoFinal_Release/CvPlot.obj
CvPlot.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvPlotGroup.cpp /FoFinal_Release/CvPlotGroup.obj
CvPlotGroup.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvPopupInfo.cpp /FoFinal_Release/CvPopupInfo.obj
CvPopupInfo.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvPopupReturn.cpp /FoFinal_Release/CvPopupReturn.obj
CvPopupReturn.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvRandom.cpp /FoFinal_Release/CvRandom.obj
CvRandom.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvReplayInfo.cpp /FoFinal_Release/CvReplayInfo.obj
CvReplayInfo.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvReplayMessage.cpp /FoFinal_Release/CvReplayMessage.obj
CvReplayMessage.cpp
"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe" /nologo /MD /EHsc /Gd /GR /G7 /W3 /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /DLOG_AI /D_MOD_FRACTRADE /D_MOD_SENTRY /D_MOD_GOVWORKERS /MD /O2 /DNDEBUG /DFINAL_RELEASE /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"D:\Games\Firaxis Games\Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /I"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/include" /I"C:\Program Files\Microsoft Platform SDK/Include" /c CvSelectionGroup.cpp /FoFinal_Release/CvSelectionGroup.obj
CvSelectionGroup.cpp
CvSelectionGroup.cpp(1892) : error C2601: 'CvSelectionGroup::continueMission' : local function definitions are illegal
CvSelectionGroup.cpp(2442) : error C2601: 'CvSelectionGroup::canDoCommand' : local function definitions are illegal
CvSelectionGroup.cpp(2484) : error C2601: 'CvSelectionGroup::canEverDoCommand' : local function definitions are illegal
CvSelectionGroup.cpp(2541) : error C2601: 'CvSelectionGroup::setupActionCache' : local function definitions are illegal
CvSelectionGroup.cpp(2574) : error C2601: 'CvSelectionGroup::canDoInterfaceMode' : local function definitions are illegal
CvSelectionGroup.cpp(2780) : error C2601: 'CvSelectionGroup::canDoInterfaceModeAt' : local function definitions are illegal
CvSelectionGroup.cpp(3004) : error C2601: 'CvSelectionGroup::isHuman' : local function definitions are illegal
CvSelectionGroup.cpp(3015) : error C2601: 'CvSelectionGroup::isBusy' : local function definitions are illegal
CvSelectionGroup.cpp(3053) : error C2601: 'CvSelectionGroup::isCargoBusy' : local function definitions are illegal
CvSelectionGroup.cpp(3102) : error C2601: 'CvSelectionGroup::baseMoves' : local function definitions are illegal
CvSelectionGroup.cpp(3130) : error C2601: 'CvSelectionGroup::isWaiting' : local function definitions are illegal
CvSelectionGroup.cpp(3149) : error C2601: 'CvSelectionGroup::isFull' : local function definitions are illegal
CvSelectionGroup.cpp(3206) : error C2601: 'CvSelectionGroup::hasCargo' : local function definitions are illegal
CvSelectionGroup.cpp(3224) : error C2601: 'CvSelectionGroup::getCargo' : local function definitions are illegal
CvSelectionGroup.cpp(3240) : error C2601: 'CvSelectionGroup::canAllMove' : local function definitions are illegal
CvSelectionGroup.cpp(3269) : error C2601: 'CvSelectionGroup::canAnyMove' : local function definitions are illegal
CvSelectionGroup.cpp(3290) : error C2601: 'CvSelectionGroup::hasMoved' : local function definitions are illegal
CvSelectionGroup.cpp(3312) : error C2601: 'CvSelectionGroup::canEnterTerritory' : local function definitions are illegal
CvSelectionGroup.cpp(3338) : error C2601: 'CvSelectionGroup::canEnterArea' : local function definitions are illegal
CvSelectionGroup.cpp(3365) : error C2601: 'CvSelectionGroup::canMoveInto' : local function definitions are illegal
CvSelectionGroup.cpp(3390) : error C2601: 'CvSelectionGroup::canMoveOrAttackInto' : local function definitions are illegal
CvSelectionGroup.cpp(3415) : error C2601: 'CvSelectionGroup::canMoveThrough' : local function definitions are illegal
CvSelectionGroup.cpp(3442) : error C2601: 'CvSelectionGroup::canFight' : local function definitions are illegal
CvSelectionGroup.cpp(3464) : error C2601: 'CvSelectionGroup::canDefend' : local function definitions are illegal
CvSelectionGroup.cpp(3485) : error C2601: 'CvSelectionGroup::canBombard' : local function definitions are illegal
CvSelectionGroup.cpp(3520) : error C2601: 'CvSelectionGroup::visibilityRange' : local function definitions are illegal
CvSelectionGroup.cpp(3548) : error C2601: 'CvSelectionGroup::getBombardTurns' : local function definitions are illegal
CvSelectionGroup.cpp(3580) : error C2601: 'CvSelectionGroup::isHasPathToAreaPlayerCity' : local function definitions are illegal
CvSelectionGroup.cpp(3605) : error C2601: 'CvSelectionGroup::isHasPathToAreaEnemyCity' : local function definitions are illegal
CvSelectionGroup.cpp(3629) : error C2601: 'CvSelectionGroup::isStranded' : local function definitions are illegal
CvSelectionGroup.cpp(3642) : error C2601: 'CvSelectionGroup::invalidateIsStrandedCache' : local function definitions are illegal
CvSelectionGroup.cpp(3647) : error C2601: 'CvSelectionGroup::calculateIsStranded' : local function definitions are illegal
CvSelectionGroup.cpp(3748) : error C2601: 'CvSelectionGroup::canMoveAllTerrain' : local function definitions are illegal
CvSelectionGroup.cpp(3774) : error C2601: 'CvSelectionGroup::unloadAll' : local function definitions are illegal
CvSelectionGroup.cpp(3789) : error C2601: 'CvSelectionGroup::alwaysInvisible' : local function definitions are illegal
CvSelectionGroup.cpp(3818) : error C2601: 'CvSelectionGroup::isInvisible' : local function definitions are illegal
CvSelectionGroup.cpp(3842) : error C2601: 'CvSelectionGroup::countNumUnitAIType' : local function definitions are illegal
CvSelectionGroup.cpp(3870) : error C2601: 'CvSelectionGroup::hasWorker' : local function definitions are illegal
CvSelectionGroup.cpp(3876) : error C2601: 'CvSelectionGroup::IsSelected' : local function definitions are illegal
CvSelectionGroup.cpp(3898) : error C2601: 'CvSelectionGroup::NotifyEntity' : local function definitions are illegal
CvSelectionGroup.cpp(3912) : error C2601: 'CvSelectionGroup::airCircle' : local function definitions are illegal
CvSelectionGroup.cpp(3926) : error C2601: 'CvSelectionGroup::setBlockading' : local function definitions are illegal
CvSelectionGroup.cpp(3938) : error C2601: 'CvSelectionGroup::getX' : local function definitions are illegal
CvSelectionGroup.cpp(3955) : error C2601: 'CvSelectionGroup::getY' : local function definitions are illegal
CvSelectionGroup.cpp(3972) : error C2601: 'CvSelectionGroup::at' : local function definitions are illegal
CvSelectionGroup.cpp(3978) : error C2601: 'CvSelectionGroup::atPlot' : local function definitions are illegal
CvSelectionGroup.cpp(3984) : error C2601: 'CvSelectionGroup::plot' : local function definitions are illegal
CvSelectionGroup.cpp(4001) : error C2601: 'CvSelectionGroup::getArea' : local function definitions are illegal
CvSelectionGroup.cpp(4017) : error C2601: 'CvSelectionGroup::area' : local function definitions are illegal
CvSelectionGroup.cpp(4034) : error C2601: 'CvSelectionGroup::getDomainType' : local function definitions are illegal
CvSelectionGroup.cpp(4051) : error C2601: 'CvSelectionGroup::getBestBuildRoute' : local function definitions are illegal
CvSelectionGroup.cpp(4107) : error C2601: 'CvSelectionGroup::groupDeclareWar' : local function definitions are illegal
CvSelectionGroup.cpp(4135) : error C2601: 'CvSelectionGroup::groupAttack' : local function definitions are illegal
CvSelectionGroup.cpp(4372) : error C2601: 'CvSelectionGroup::groupMove' : local function definitions are illegal
CvSelectionGroup.cpp(4426) : error C2601: 'CvSelectionGroup::groupPathTo' : local function definitions are illegal
CvSelectionGroup.cpp(4492) : error C2601: 'CvSelectionGroup::groupRoadTo' : local function definitions are illegal
CvSelectionGroup.cpp(4516) : error C2601: 'CvSelectionGroup::groupBuild' : local function definitions are illegal
CvSelectionGroup.cpp(4619) : error C2601: 'CvSelectionGroup::setTransportUnit' : local function definitions are illegal
CvSelectionGroup.cpp(4703) : error C2601: 'CvSelectionGroup::setRemoteTransportUnit' : local function definitions are illegal
CvSelectionGroup.cpp(4786) : error C2601: 'CvSelectionGroup::isAmphibPlot' : local function definitions are illegal
CvSelectionGroup.cpp(4812) : error C2601: 'CvSelectionGroup::groupAmphibMove' : local function definitions are illegal
CvSelectionGroup.cpp(4882) : error C2601: 'CvSelectionGroup::readyToSelect' : local function definitions are illegal
CvSelectionGroup.cpp(4888) : error C2601: 'CvSelectionGroup::readyToMove' : local function definitions are illegal
CvSelectionGroup.cpp(4894) : error C2601: 'CvSelectionGroup::readyToAuto' : local function definitions are illegal
CvSelectionGroup.cpp(4900) : error C2601: 'CvSelectionGroup::getID' : local function definitions are illegal
CvSelectionGroup.cpp(4906) : error C2601: 'CvSelectionGroup::setID' : local function definitions are illegal
CvSelectionGroup.cpp(4912) : error C2601: 'CvSelectionGroup::getOwner' : local function definitions are illegal
CvSelectionGroup.cpp(4918) : error C2601: 'CvSelectionGroup::getTeam' : local function definitions are illegal
CvSelectionGroup.cpp(4929) : error C2601: 'CvSelectionGroup::getMissionTimer' : local function definitions are illegal
CvSelectionGroup.cpp(4935) : error C2601: 'CvSelectionGroup::setMissionTimer' : local function definitions are illegal
CvSelectionGroup.cpp(4944) : error C2601: 'CvSelectionGroup::changeMissionTimer' : local function definitions are illegal
CvSelectionGroup.cpp(4950) : error C2601: 'CvSelectionGroup::updateMissionTimer' : local function definitions are illegal
CvSelectionGroup.cpp(5014) : error C2601: 'CvSelectionGroup::isForceUpdate' : local function definitions are illegal
CvSelectionGroup.cpp(5020) : error C2601: 'CvSelectionGroup::setForceUpdate' : local function definitions are illegal
CvSelectionGroup.cpp(5026) : error C2601: 'CvSelectionGroup::getActivityType' : local function definitions are illegal
CvSelectionGroup.cpp(5032) : error C2601: 'CvSelectionGroup::setActivityType' : local function definitions are illegal
CvSelectionGroup.cpp(5094) : error C2601: 'CvSelectionGroup::getAutomateType' : local function definitions are illegal
CvSelectionGroup.cpp(5100) : error C2601: 'CvSelectionGroup::isAutomated' : local function definitions are illegal
CvSelectionGroup.cpp(5106) : error C2601: 'CvSelectionGroup::setAutomateType' : local function definitions are illegal
CvSelectionGroup.cpp(5142) : error C2601: 'CvSelectionGroup::getPathLastNode' : local function definitions are illegal
CvSelectionGroup.cpp(5148) : error C2601: 'CvSelectionGroup::getPathFirstPlot' : local function definitions are illegal
CvSelectionGroup.cpp(5175) : error C2601: 'CvSelectionGroup::getPathEndTurnPlot' : local function definitions are illegal
CvSelectionGroup.cpp(5205) : error C2601: 'CvSelectionGroup::generatePath' : local function definitions are illegal
CvSelectionGroup.cpp(5235) : error C2601: 'CvSelectionGroup::resetPath' : local function definitions are illegal
CvSelectionGroup.cpp(5241) : error C2601: 'CvSelectionGroup::clearUnits' : local function definitions are illegal
CvSelectionGroup.cpp(5255) : error C2601: 'CvSelectionGroup::addUnit' : local function definitions are illegal
CvSelectionGroup.cpp(5314) : error C2601: 'CvSelectionGroup::removeUnit' : local function definitions are illegal
CvSelectionGroup.cpp(5335) : error C2601: 'CvSelectionGroup::deleteUnitNode' : local function definitions are illegal
CvSelectionGroup.cpp(5363) : error C2601: 'CvSelectionGroup::nextUnitNode' : local function definitions are illegal
CvSelectionGroup.cpp(5369) : error C2601: 'CvSelectionGroup::getNumUnits' : local function definitions are illegal
CvSelectionGroup.cpp(5374) : error C2601: 'CvSelectionGroup::mergeIntoGroup' : local function definitions are illegal
CvSelectionGroup.cpp(5424) : error C2601: 'CvSelectionGroup::splitGroup' : local function definitions are illegal
CvSelectionGroup.cpp(5597) : error C2601: 'CvSelectionGroup::getUnitIndex' : local function definitions are illegal
CvSelectionGroup.cpp(5627) : error C2601: 'CvSelectionGroup::headUnitNode' : local function definitions are illegal
CvSelectionGroup.cpp(5633) : error C2601: 'CvSelectionGroup::getHeadUnit' : local function definitions are illegal
CvSelectionGroup.cpp(5647) : error C2601: 'CvSelectionGroup::getUnitAt' : local function definitions are illegal
CvSelectionGroup.cpp(5667) : error C2601: 'CvSelectionGroup::getHeadUnitAI' : local function definitions are illegal
CvSelectionGroup.cpp(5682) : error C2601: 'CvSelectionGroup::getHeadOwner' : local function definitions are illegal
CvSelectionGroup.cpp(5697) : error C2601: 'CvSelectionGroup::getHeadTeam' : local function definitions are illegal
CvSelectionGroup.cpp(5712) : error C2601: 'CvSelectionGroup::clearMissionQueue' : local function definitions are illegal
CvSelectionGroup.cpp(5729) : error C2601: 'CvSelectionGroup::getLengthMissionQueue' : local function definitions are illegal
CvSelectionGroup.cpp(5729) : fatal error C1003: error count exceeds 100; stopping compilation
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual C++ Toolkit 2003/bin/cl.exe"' : return code '0x2'
Stop.
Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"


I am using the exact same files (no modification) as the ones provided in the source code link (version 1.11.5). I tried compiling the regular BTS code (using this version 3.19 makefile) without any problems. Would anyone happen to have any idea what's going wrong? Has anyone else successfully compiled the 1.11.5 source?


EDIT: Found the problem. The CvSelectionGroup.cpp was missing a closing bracket in the new War Tactics AI (the 'else' statement before 'pUnitNode = headUnitNode()' didn't ever close). I've attached my tentative fixed version, though I haven't tested it yet. Hopefully I put the closing bracket in the right spot.


EDIT: The makefile I was using had coding issues in it that caused the CivilaPedia to break, so I removed it. I'll post a working version later today.
 

Attachments

I don't know that I like n003lb's idea about a 'chance to miss' I mean 1 air unit is generally regarded as representing a squadron... surely the majority of planes in that squadron are going to hit their target...

Have you given more thought to Sub's being able to damage and possibly sink ships in harbor?
 
I am not going to implement a chance to miss, as such. But I am working on introducing a variable damage system, so that you can't predict exactly how much damage you'll do. The Accuracy property will play a part in this, so the higher accuracy rating, the smaller spread in damage values. A critical hit chance if the target is a ship (in my mind, they represent single vessels) is also on my mind.

On the issue of subs doing more damage to ships in port, I feel this would give the human an unfair advantage. The AI hides it's ships in port if they are in danger, but putting them there would then present an even greater risk to sub attacks. Historically, subs had a pretty difficult time getting into naval bases, and if they did, an even harder time to get out (you could argue for a suicide type attack). If I do the critical damage thing, subs would also benefit from this.

I am also looking to implement Afforess code on stacking air defenders. Meaning, the more interceptors you put in a plot, the higher chance to intercept overall for the best interceptor.

Furthermore, I am sort of waiting on jdog to release his next Better AI so I can implement that. I hear it's gonna be a landslide update.

And when can you expect all this? Well, I am moving my whole family this weekend to a new apartment, so I'll be busy. But I'll release as soon as I get all the stuff I just mentioned wrapped up. :)
 
Does anyone still have the original 1.11 SDK source? It would seem that the current 1.11.5 source has a problem I can't weed out, as it breaks the CivPedia.
attachment.php
 

Attachments

  • BrokenPedia.jpg
    BrokenPedia.jpg
    408.6 KB · Views: 361
If I do the critical damage thing, subs would also benefit from this.

I am also looking to implement Afforess code on stacking air defenders. Meaning, the more interceptors you put in a plot, the higher chance to intercept overall for the best interceptor.

Furthermore, I am sort of waiting on jdog to release his next Better AI so I can implement that. I hear it's gonna be a landslide update.

And when can you expect all this? Well, I am moving my whole family this weekend to a new apartment, so I'll be busy. But I'll release as soon as I get all the stuff I just mentioned wrapped up. :)

Oh my! That's kind of update to anticipate!

Best wishes for your moving project. As they say, moving is worse than fire :)
 
Does anyone still have the original 1.11 SDK source? It would seem that the current 1.11.5 source has a problem I can't weed out, as it breaks the CivPedia.
attachment.php

What the... I was positive this was fixed, but I can confirm that it's still not working. I am no longer sure about which version of the code was the original 1.11, that's why I'm not putting a version forward. I am getting better at keeping track of the versions, though! :)
 
Ok, I think I've found the culprit... it was the Makefile.
It seems several lines in that makefile, which I originally took from RevoDCM, had some special coding lines that screwed with certain settings and would also automatically copy over your new CvGameCoreDLL into your default BtS directory, overwriting the original DLL file. Doh! When I get home I'll post a fixed version, so if you downloaded my version from my previous post, DON'T USE IT.


EDIT: Ok, I've attached the new makefile.

EDIT 2: After some more test, the problem was indeed the 1.11.5 source code, although the makefile still had that nasty overwriting problem. Anyway, I hope you can figure out what's wrong. The 1.10 SDK didn't have this problem.
 

Attachments

Question; does anyone build Ironclads, ever? Playing through 1.11 right now but if Ironclad hasn't been changed I just wanted to point out that with wolfschanze's naval units I've literally never had a reason to build an Ironclad.
 
Question; does anyone build Ironclads, ever? Playing through 1.11 right now but if Ironclad hasn't been changed I just wanted to point out that with wolfschanze's naval units I've literally never had a reason to build an Ironclad.

That would be pretty historical, as Ironclads weren't all that useful for very long.
 
Back
Top Bottom