German SA bug?

Txurce

Deity
Joined
Jan 4, 2002
Messages
8,293
Location
Venice, California
I may have mentioned this elsewhere, but...

In my last two games, the Germans' barb-acquisition ability ceased working after a while. Is there a time or unit limit to their SA? In my current game I noticed this on turn 97, by which time I had racked up well over 20 barb units.
 
Do any error messages appear in the console? In my games as Bismark I've played all the way through to the end, probably acquiring hundreds of barbarians. The only explanation I can think of is a bug in the vanilla Map.Rand function. Everything else is straightforward:

Code:
if lostUnit then
  local leaderType = GameInfo.Leaders[wonPlayer:GetLeaderType()].Type
  local traitType = GameInfo.Leader_Traits("LeaderType ='" .. leaderType .. "'")().TraitType
  local barbCapture = GameInfo.Traits[traitType].BarbarianCapturePercent
  if lostPlayer:IsBarbarian() and barbCapture >= (1 + Map.Rand(99, "BL - General: DoEndCombatLeaderBonuses - barbCapture")) then
    logger:Debug(wonPlayer:GetName().." captured barbarian "..lostUnit:GetName())
    local plot = lostUnit:GetPlot()
    wonPlayer:InitUnit( GameInfo.Units[lostUnit:GetUnitType()].ID,  plot:GetX(), plot:GetY() );
    ...
  end
end

If you could attach a savegame and your mods folder, that might help.
 
Do any error messages appear in the console? In my games as Bismark I've played all the way through to the end, probably acquiring hundreds of barbarians. The only explanation I can think of is a bug in the vanilla Map.Rand function. Everything else is straightforward:

Code:
if lostUnit then
  local leaderType = GameInfo.Leaders[wonPlayer:GetLeaderType()].Type
  local traitType = GameInfo.Leader_Traits("LeaderType ='" .. leaderType .. "'")().TraitType
  local barbCapture = GameInfo.Traits[traitType].BarbarianCapturePercent
  if lostPlayer:IsBarbarian() and barbCapture >= (1 + Map.Rand(99, "BL - General: DoEndCombatLeaderBonuses - barbCapture")) then
    logger:Debug(wonPlayer:GetName().." captured barbarian "..lostUnit:GetName())
    local plot = lostUnit:GetPlot()
    wonPlayer:InitUnit( GameInfo.Units[lostUnit:GetUnitType()].ID,  plot:GetX(), plot:GetY() );
    ...
  end
end

If you could attach a savegame and your mods folder, that might help.

The attached save file is of a game I just started, where I failed to capture the first brute I killed. (I've had it happen this early once before.) I'm attaching the save of the turn before, so you can kill him yourself.
 
I started another German game, and quit converting barbs on turn 44. This confirms to me that the bug appears erratically, and more often than not.
 
Hopefully I'll have some free time in the next few days to sit down and figure out what's causing this in your games. I haven't been spending much time debugging lately because I'm back from my break and on a roll with implementing new content. :)
 
I'm not sure. I'm unable to load the save to test, game crashes in the way it typically does if a mod it uses is not enabled.

That's weird. I never use anything except those two (or less). I'll put the game I'm playing aside and start another German game, looking for trouble.
 
Custom Notifications and Info Addict are active.

The game failed to capture a barb from the start. The save should be a turn or so before - send the spearman north.
 
Just to tell you that I have he same bug with 7.0.

Mods: InfoAddict, ModList, GreatPersonInformation, CivWillard and CSD

QDI
 
attachment.php


This barbarian?. It worked okay for me, but I noticed you had multiple versions of the mod installed, and I moved the extra versions out of the mods folder. Could you try it with only the most recent version installed? I move old stuff to a Mods - Archive folder I created in the same place as the regular Mods folder.

Do you have multiple versions installed QDI?
 

Attachments

  • BarbarianCapture.JPG
    BarbarianCapture.JPG
    51.9 KB · Views: 241
I loaded the mods folder you provided and noticed there were multiple copies of TBC in it. I removed those, loaded your savegame, and captured the barbarian. ModBuddy overrides the existing mod when it builds the project, so I never have multiple copies of the mod installed, and this might be why I haven't encountered some of the problems you've experienced.

  • Production panel didn't open in 7.0 (confirmed cause)
  • Unable to capture barbarians with Germany (likely)
  • Unusually large surplus populations from AIs (likely)
 
I loaded the mods folder you provided and noticed there were multiple copies of TBC in it. I removed those, loaded your savegame, and captured the barbarian. ModBuddy overrides the existing mod when it builds the project, so I never have multiple copies of the mod installed, and this might be why I haven't encountered some of the problems you've experienced.

  • Production panel didn't open in 7.0 (confirmed cause)
  • Unable to capture barbarians with Germany (likely)
  • Unusually large surplus populations from AIs (likely)

This is very weird. I just downloaded the Mods upload you used, and found TBC's as early as v6.3. But I erased all of them a few days ago when you told me to - and I got rid of v6.3 weeks ago. I am 99% sure that I sent you v7.0 only. Is there any way this could be happening? I just emptied my Downloads folder - could not having done so earlier have had something to do with it? Not with multiple TBC's being in my Mod folder, but with it 1) affecting my games and/or 2) sending you more than I intended.

By the way, my current game may be on its way to mucho AI pop, and I only have v7.0 installed (I just checked). But tomorrow I will try the German again, just to check.
 
That's rather strange. I haven't ever encountered a situation where files are unaccounted for like that.

Something else I hadn't mentioned it in this thread specifically, but you're not using strategic view in combat, right?
 
I also have only 7.0 installed. I always delete the last version before downloading a new one.

QDI
 
Back
Top Bottom