BETA TEST: History Rewritten 1.24 (K-Mod Merge)

Xyth

History Rewritten
Joined
Jul 14, 2004
Messages
4,106
Location
Aotearoa
Because the K-Mod merge is such a significant change, for gameplay and in terms of technical challenge, I'm releasing a beta of 1.24 much earlier than I normally would. This is not a feature complete beta, and there are plenty of adjustments and fixes I still intend to make. Your help testing would be very much appreciated.


IMPORTANT! IMPORTANT! IMPORTANT!

You need to have the logging system enabled (instructions here). When reporting any problem with this beta, you must tell me the following information:

• OS X or Windows
• Steam or Non-Steam
• Mapsize
• Difficulty Level​



Download





Changes


K-Mod (Windows only)
• Smarter and faster AI
• Culture: more dynamic, more important, spreads beyond borders and over trade routes
• Religion: improved spread mechanics, older religions can be displaced
• Great Artist: culture from Great Works now scales with era
• Human players can become vassals of the AI
• Advanced Combats Odds when hovering over enemy units
• Numerous fixes to longstanding bugs in BTS
• Numerous other tweaks and improvements

Compatibility
• Windows and OS X saved games are no longer compatible
• Multiplayer between Windows and OS X only possible if Windows players remove DLL
• Mulitplayer between Windows and OS X probably has OOS issues (working on a fix)

Civilizations
• Aztec: new leaders (Atlatl Cauac, Juárez)
• English: improved city naming, new leader (Aelfred)
• Hittites: fixed issue where both National Festival and Puruli (UW) were unbuildable
• Romans: Ballista (UU) now upgrades to Bombard (formerly Trebuchet)

Leaders
• Further adjustments to leader personalities

Civil War
• Dissent in a city is now reduced by its espionage rate
• Dissent penalty (+100) added when a city starves
• Civic Dissent is now displayed in grey during Golden Ages (Domestic Advisor, City Dissent Bar)
• Fixed an issue preventing Great Temples and Shrines from reducing dissent
• Fixed a potential error during rebel civ selection

Civics
• Agrarianism: now Low dissent
• Democracy: now Low dissent
• Reciprocity: corrected Palace tooltip
• Slavery: now Low maintenance

Tenets
• Fixed a bug causing Tolerance tenets to sometimes cause attitude bonuses/penalties

Religion
• Improved calculations to determine a religion's faith leader
• Fixed a bug that sometimes allowed a reformation when adopting another civ's state religion

Buildings
• Nuclear Plant: meltdowns no longer destroy buildings or population
• Constructing a cleaner/safer Power Plant in a city will now remove any existing ones

Wonders
• Number of World Wonders that can be built in a city is now capped by its culture level

Units
• Guided Missile: range increased from 4 to 5

Great People
• Great Doctor: new ability - Humanitarian Mission (resets dissent/improves attitude)

Terrain
• Fallout: now causes 1 unhealthiness (formerly 0.5)

Improvements
• Camps: +1 commerce bonus now at Rifling (formerly Gunpowder)
• Farms: new +1 food bonus at Crop Rotation
• Forts: now clear terrain features when built

Mapsizes
• Giant: slighty larger, balanced better
• Massive: removed, too many memory issues
• Increased default number of starting civs for each mapsize (except Duel)
• Mapscripts can no longer deviate from the defined size (could lead to MAFs)

Interface
• Main Screen: Great General bar no longer reports anarchy
• City Screen: now displays National and World Wonder limits
• City Screen: Ethnicity bar tooltip shows cultural revolt chance again
• City Screen: several fixes to the Culture bar
• City Screen: Dissent Bar colours now behave more like other progress bars
• Espionage Advisor: redesigned with additional information
• Event Signs: removed, may return in a future version
• World Builder: updated to PlatyBuilder 4.17b

Misc
• Ancient Era games now start with a Warrior instead of a Scout
• Civilopedia: more entries added
• One City Challenge: can now construct a Monastery and Great Temple
• HR Settings now stored in (My)Documents, will be preserved when updating
• Several technical fixes and optimizations​



Known Issues


  • [WINDOWS] Adopting the Mercenaries civic does strange things to unit upkeep.
  • [WINDOWS] Mitigation of unhealthiness from Hospitals and the Sustainability civic is not working.
  • [WINDOWS] Trade Route Culture from K-Mod is active but not shown in the UI. Trade Route Culture from HR is also active and is shown in the UI. Still figuring out how to best to handle this.
  • New leaders don't have accurate start positions on most maps yet.



Comments for Windows Players


  • I'm not kidding about the smarter AI. Start on a lower difficulty level than you're used to. Don't neglect culture!
  • If you're familiar with K-Mod, please let me know if there are any particular features you've noticed are missing or non-functional in this beta. The Global Warming system is disabled intentionally.
 
A huge congrats! :king:
Even though you didn't have to merge it with a heavily modded dll (just ask Leoreth, Morholt, or to some extent me, how it went with RFC mods), integrating K-mod is always an enourmus task!
Wonderful job, will try to find some time in the weekend to test it out
 
(just ask Leoreth, Morholt, or to some extent me, how it went with RFC mods)
... or don't :mischief:

Spoiler :
Although I think the greatest problem I had in the end was that the new AI was too smart to let itself be scripted in the way RFC requires ...


But I concur, congrats. Seeing you do this really motivates me to make another attempt at merging it.
 
There is a bug in the getReligionDissent function (CivilWar.py):
"local variable referenced before assignment"

EDIT:
ahh, after a quick check in the file, I noticed that it's simply a typo
you wrote 'iModifer' instead of 'iModifier' in line 448 (twice)
 
There is a bug in the getReligionDissent function (CivilWar.py):
"local variable referenced before assignment"

EDIT:
ahh, after a quick check in the file, I noticed that it's simply a typo
you wrote 'iModifer' instead of 'iModifier' in line 448 (twice)

Argh! The number of times I make that particular typo is embarrassing. I should probably set up an autocorrect.
 
I remember an oddity connected to the Coal Plant.
Even after you build a Gas/Solar/Hydro/Nuclear plant, the +2 unhealth from the Coal Plant itself, and the +2 pollution from Coal Plant energy still counts.
So a total of 4 unhealth remains in your cities, even after you have access to more "pure" energy.
I don't think it's intended, at least it's rather counterintuitive. One would think Coal Plants are not used anymore after a more advanced one is built.
 
In WBUnitScreen.py, line 99:
"'NoneType' object has no attribute 'getDescription'"

EDIT: it's probably clear if you check the code, just to be sure: this happens every time you click on a unit in the WB
 
I remember an oddity connected to the Coal Plant.
Even after you build a Gas/Solar/Hydro/Nuclear plant, the +2 unhealth from the Coal Plant itself, and the +2 pollution from Coal Plant energy still counts.
So a total of 4 unhealth remains in your cities, even after you have access to more "pure" energy.
In regular BtS hydro & nuclear plants produce 2 :yuck: (not shown in Civilopedia), while coal plants produce 4 :yuck: (but Civilopedia says 2). 2 :yuck: aren't from closed coal plant, they are from any source of power. Personally I dislike that (and many other things about power plants like coal plants not requiring electricity tech or nuclear meltdowns), but it's from BtS, not HRW-specific.
But you're right about other +2:yuck: for coal plant, they aren't related to power production and are part of building (like :yuck: for forge or factory), so they remain in city forever.
 
While on this topic, isn't it possible to get rid of access to Coal plant / Gas plant / Nuclear Plant / Solar Plant / Hydro Plant in the city menu AFTER BUILDING THE THREE GORGES DAM, which provides power for all cities on that continent, so you don't need to build none of those upper mentioned? Or is it too complicated operation because of cities on another landmasses?
 
Found another small glitch - altough it's probably only a harmless python expection
If you don't know any cities (at least not their exact place on the map) of a given civ, when choosing them on the new espionage screen there is an UnboundLocalError
In line 361 in the EspionageAdvisor file: "local variable 'szCost' referenced before assignment"
Didn't check the code, but you probably forgot to add an initial value, until there are no cities in the civ's list
 
• OS X
• Non-Steam
• Huge Earth Map
• Prince Difficulty

The first one is actually from my 1.23 OCC game, and may have already been fixed. In the first screenshot, you can see that even though I have 87% cultural influence on the Sioux city of Scythia and there is only one defending unit, no revolt chance is listed. Was that functionality deliberately dropped when you converted the bar to Ethnicity?

Second screenshot. Playing as the new leader Juarez, even though he starts in what appears to be the correct location on the Huge Earth Map, there is no Scout unit to go with the Settler. I'm unsure if this is a bug or a deliberate change to starting conditions (though I don't *think* I saw any such change listed in the changelog).

Third and fourth screenshots. Python exceptions that have occurred in both of the two test games I've started so far. I've still been getting random events, but they're all ones I've never seen before. Did K-Mod add more events, or is it just the luck-of-the-draw?

Fifth screenshot. One of those random events refers to Amun-Re, who should be exclusively associated with Pesedjet. I would suggest changing it to something more generic, like "our chief god" or "our principle deity".

Sixth screenshot. It appears to be possible to acquire additional cities even in OCC mode. In OCC, if you conquer a city (either by force of arms or through a culture flip) it will auto-raze. But if you culturally dominate the city *without* flipping it, and the owner is on good enough terms with you, they may 'liberate' it and gift it to you intact. Does anyone know if this was also possible in base BtS, or is it because of some aspect of the mod? I've never encountered it before, but it kind of makes a hash out of OCC mode.
 

Attachments

  • Revolt Chance?.jpg
    Revolt Chance?.jpg
    197.1 KB · Views: 286
  • No Scout at Start.png
    No Scout at Start.png
    467.9 KB · Views: 251
  • Python Exception 1.jpg
    Python Exception 1.jpg
    147.5 KB · Views: 254
  • Second City in OCC.jpg
    Second City in OCC.jpg
    234.5 KB · Views: 249
  • Amun-Re?.jpg
    Amun-Re?.jpg
    243.2 KB · Views: 253
  • Python Exception 2.jpg
    Python Exception 2.jpg
    145.8 KB · Views: 219
I remember an oddity connected to the Coal Plant.
Even after you build a Gas/Solar/Hydro/Nuclear plant, the +2 unhealth from the Coal Plant itself, and the +2 pollution from Coal Plant energy still counts.
So a total of 4 unhealth remains in your cities, even after you have access to more "pure" energy.
I don't think it's intended, at least it's rather counterintuitive. One would think Coal Plants are not used anymore after a more advanced one is built.

In regular BtS hydro & nuclear plants produce 2 :yuck: (not shown in Civilopedia), while coal plants produce 4 :yuck: (but Civilopedia says 2). 2 :yuck: aren't from closed coal plant, they are from any source of power. Personally I dislike that (and many other things about power plants like coal plants not requiring electricity tech or nuclear meltdowns), but it's from BtS, not HRW-specific.
But you're right about other +2:yuck: for coal plant, they aren't related to power production and are part of building (like :yuck: for forge or factory), so they remain in city forever.

In the next 1.24 beta, constructing a cleaner or safer Power Plant will remove any inferior ones from the city. I've also managed to replicate K-Mod's meltdown mechanics for Mac (Fallout only, no population/unit/building loss).

While on this topic, isn't it possible to get rid of access to Coal plant / Gas plant / Nuclear Plant / Solar Plant / Hydro Plant in the city menu AFTER BUILDING THE THREE GORGES DAM, which provides power for all cities on that continent, so you don't need to build none of those upper mentioned? Or is it too complicated operation because of cities on another landmasses?

It might be possible but I'm not sure it's a good idea. If you lose the city with the Three Gorges Dam, you lose all power on the continent so having a backup Power Plant can be useful. Furthermore, the Three Gorges Dam is very powerful wonder; removing the unhealthiness caused by any Coal Plants on the continent makes even it more so.

In WBUnitScreen.py, line 99:
"'NoneType' object has no attribute 'getDescription'"

EDIT: it's probably clear if you check the code, just to be sure: this happens every time you click on a unit in the WB

I've updated to Platybuilder 4.17 for the next beta (from 4.13b). Shall see if this fixes the problem. I'm not seeing it on Mac, haven't tried it on Windows yet.

Found another small glitch - altough it's probably only a harmless python expection
If you don't know any cities (at least not their exact place on the map) of a given civ, when choosing them on the new espionage screen there is an UnboundLocalError
In line 361 in the EspionageAdvisor file: "local variable 'szCost' referenced before assignment"
Didn't check the code, but you probably forgot to add an initial value, until there are no cities in the civ's list

Problem fixed for next beta, thanks.

The first one is actually from my 1.23 OCC game, and may have already been fixed. In the first screenshot, you can see that even though I have 87% cultural influence on the Sioux city of Scythia and there is only one defending unit, no revolt chance is listed. Was that functionality deliberately dropped when you converted the bar to Ethnicity?

Unintentional omission, will fix.

Second screenshot. Playing as the new leader Juarez, even though he starts in what appears to be the correct location on the Huge Earth Map, there is no Scout unit to go with the Settler. I'm unsure if this is a bug or a deliberate change to starting conditions (though I don't *think* I saw any such change listed in the changelog).

I'm going to remove the starting Scout and replace it with a Warrior. Looks I did the former but forgot the latter (and to document the change).

Third and fourth screenshots. Python exceptions that have occurred in both of the two test games I've started so far.

Ah I know what's causing that. There's a flaw in that particular BTS file that can sometimes cause an OOS in multiplayer. K-Mod had a fix for it, but it looks like that fix isn't Mac compatible. I'll have to try fix it another way some time. Not in 1.24 though, bit too complicated.

I've still been getting random events, but they're all ones I've never seen before. Did K-Mod add more events, or is it just the luck-of-the-draw?

In BTS, each civilization has a random event unique to them. The file throwing the Python errors is the one that handles random event triggers, so you're getting events that you wouldn't normally.

Fifth screenshot. One of those random events refers to Amun-Re, who should be exclusively associated with Pesedjet. I would suggest changing it to something more generic, like "our chief god" or "our principle deity".

This is the Egyptian unique event. I'll probably convert all these unique events to generic ones at some point.

Sixth screenshot. It appears to be possible to acquire additional cities even in OCC mode. In OCC, if you conquer a city (either by force of arms or through a culture flip) it will auto-raze. But if you culturally dominate the city *without* flipping it, and the owner is on good enough terms with you, they may 'liberate' it and gift it to you intact. Does anyone know if this was also possible in base BtS, or is it because of some aspect of the mod? I've never encountered it before, but it kind of makes a hash out of OCC mode.

This is apparently a bug in BTS that was never fixed. K-Mod doesn't seem to fix it either. It's a DLL problem so it will never be solved for Mac.
 
First problem, albeit cosmetic. Playing as Juarez, the art for the Pyramids is not appearing in the city image (as shown in the screenshot).

Second problem, and much more serious. After several religions have been founded, the following series of Python exceptions began popping up at the start of *every* turn, rendering the game effectively unplayable:

UnboundLocalError: local variable 'iModifier' referenced before assignment
File "CivilWar", line 448, in getReligionDissent
File "CivilWar", line 150, in get CityDissentRate
File "CivilWar", line 309, in updateCityDissent
File "CivilWar", line 508, in checkCivilWar
File "CvEventManager", line 628, in onBeginPlayerTurn
File "BugEventManager", line 340, in _handleDefaultEvent
 

Attachments

  • Pyramids? Where?.jpg
    Pyramids? Where?.jpg
    230.5 KB · Views: 256
First problem, albeit cosmetic. Playing as Juarez, the art for the Pyramids is not appearing in the city image (as shown in the screenshot).

That happens from time to time. BTS places building art according to a grid and sometimes it can't find a large enough free space to place something. It's a bit unpredictable. BTS issue, not an HR one.

Second problem, and much more serious. After several religions have been founded, the following series of Python exceptions began popping up at the start of *every* turn, rendering the game effectively unplayable:

UnboundLocalError: local variable 'iModifier' referenced before assignment
File "CivilWar", line 448, in getReligionDissent
File "CivilWar", line 150, in get CityDissentRate
File "CivilWar", line 309, in updateCityDissent
File "CivilWar", line 508, in checkCivilWar
File "CvEventManager", line 628, in onBeginPlayerTurn
File "BugEventManager", line 340, in _handleDefaultEvent

That's caused by the typo AbsintheRed spotted in post #4. It's fixed for the next beta, but in the meantime, you can go to line 448 in CivilWar.py and correct the two instances of 'iModifer' to 'iModifier'.
 
In my latest test game, I had several close neighbors who picked up the religion I founded the very next turn. If I delayed converting and let one of the AIs adopt it first, then I was properly locked into their tenet choices. Sadly, the converse was not true. When *I* adopted first, two AI civs converted the next turn *and both immediately reformed their tenets without having any Great Prophets*. Worse, this also had the effect of reverting all of my own tenets back to the defaults before I even got out of anarchy from my own reformation!

After that I decided to go back to an earlier autosave, settle my own Great Prophet and just convert to the religion one of the AIs founded a little later. I continued from there and soon encountered a couple of other issues.

The first is that despite having trade access and open borders with three different AI civs, I'm not getting any trade routes. Did you remove the initial default trade route, or is this a bug?

The second is that the dissent bar tooltip on the city screen does not match the domestic advisor's dissent page. It looks like the new espionage entry overwrote the one for culture, but the culture effect is still being invisibly applied.
 

Attachments

  • No Trade Routes.jpg
    No Trade Routes.jpg
    167.5 KB · Views: 227
  • City Dissent.jpg
    City Dissent.jpg
    200.2 KB · Views: 267
  • Advisor Dissent.jpg
    Advisor Dissent.jpg
    114.8 KB · Views: 225
In my latest test game, I had several close neighbors who picked up the religion I founded the very next turn. If I delayed converting and let one of the AIs adopt it first, then I was properly locked into their tenet choices. Sadly, the converse was not true. When *I* adopted first, two AI civs converted the next turn *and both immediately reformed their tenets without having any Great Prophets*. Worse, this also had the effect of reverting all of my own tenets back to the defaults before I even got out of anarchy from my own reformation!

This should be fixed in the next beta.

The first is that despite having trade access and open borders with three different AI civs, I'm not getting any trade routes. Did you remove the initial default trade route, or is this a bug?

I haven't removed the initial trade route, no. Can you post a saved game?

The second is that the dissent bar tooltip on the city screen does not match the domestic advisor's dissent page. It looks like the new espionage entry overwrote the one for culture, but the culture effect is still being invisibly applied.

I spotted this yesterday too and have fixed it for the next beta.
 
Here's the most recent autosave.

Thanks. Your city definitely has a trade route, it's just not connecting to anything. I don't know why. I found a thread where someone described the same issue while playing another mod (Caveman 2 Cosmos) so I suspect this is some strange quirk with OCC.
 
Odd. I've played a number of OCC games prior to this and never had a problem with trade routes before.
 
Okay, I think I've figured out what the problem was. Put simply, it was that I didn't have Sailing. As soon as I built a road to one of my neighbors, a trade route to them popped right up on the city screen.

The descriptions of what the various water route enabling techs do is thus somewhat misleading. What Sailing, for example, actually does is enable trade via rivers *outside of your cultural borders*. Water routes *inside* your borders seem to always be active, regardless of tech. This also implies that the trade-connected icon on the scoreboard (and the ability to trade resources) only requires one of the parties to have the necessary tech, and that while they may be able to send trade routes to you, you may not be able to reciprocate.
 
Top Bottom