Resource icon

[ModMod] Kek-Mod v0.26

DarkLunaPhantom

Prince
Supporter
Joined
Feb 4, 2013
Messages
517
Location
Croatia
I plan to fix some bugs I encountered and make some additional changes so I'll post them here in case there's anyone interested.

To apply changes simply paste extracted content to the K-Mod (v1.46) folder and replace all files when asked.

Included dll supports 48 civilizations.

Current version: v0.26 (based on K-Mod v1.46)
Date: 05/Feb/2022

Starting from v0.25, mod can be updated to the current version in-game via Advanced -> Options -> Update Mod (as long as the update server is online).

Download here.

NOTE: Normal pitboss cannot be used with this version, you need PB Mod version available here or here. Be sure to check all the other nice stuff they've got there, some of their things will surely be interesting to any pitboss host.

The source code is here.

Changelog:

Spoiler :

v0.26 - 05/Feb/2022 - (based on K-Mod v1.46)
  • Changed starting location conditions to improve avoidance of bad terrain and edges of bad terrain.
  • Slowed down PitBoss games when no one is connected to conserve resources on cloud computing platforms. This feature can be adjusted via GlobalDefinesAlt.xml.
  • Added a new climate called Flat that is mainly characterized by having less peaks. It is available for all mapscripts that use default climate system. Created by Fran.
  • Fixed an int overflow bug in the value of ending war calculation.
  • Fixed a bug in the Great Mediator event that could lead to master/vassal war status inconsistency.
  • Various minor fixes.

v0.25b - 06/Oct/2020 - (based on K-Mod v1.46)
  • Internet now counts players (civilizations) as the description says and not teams. Increased Internet threshold for permanent alliances (teams) by 1 for each additional member.
  • Fixed OOS bug in Partisans event related to the new draft method.
  • Fixed OOSLogger.

v0.25a - 18/Jul/2019 - (based on K-Mod v1.46)
  • Fixed a crash when pillaging is intercepted by sea patrol.
  • Fixed a C++ exception in Python code when founding the first city in the game.

v0.25 - 16/Jul/2019 - (based on K-Mod v1.46)
  • Removed mod updater autostart because it seemed to be hopelessly buggy. There is an update mod button in game options now instead.
  • Debug mode is required for cheat actions and tooltips.
  • Wonder list now uses player text color instead of primary color.
  • Minor changes to scoreboard.
  • Removed free food when a city starts with more than 1 population in Advanced Start.
  • Strenghtened food requirements for starting locations.
  • Implemented OOSLogger fixes from AdvCiv by f1rpo.
  • Adjusted era factors in calculations and added calculation for number of non-early religions, both primarily for mod compatibility and consistency.
  • Fixed a bug in Crusade event caused by the new draft method.
  • Fixed missing icon for Build Espionage.
  • Implemented fix for attitude cache not updating reliably after war declaration by f1rpo.
  • Adjusted domination thresholds for permanent alliances.
  • Various minor fixes.

v0.24 - 15/Apr/2019 - (based on K-Mod v1.46)
  • Reverted from PitBoss files from PBMod_v8 to PBMod_v7 due to buggy interface.
  • Fixed crash related to the new drafting method.
  • Free units from tribal villages cannot move in their first turn.
  • Added a new climate called Warm that is mainly characterized by less ice and tundra. It is available for all mapscripts that use default climate system. Created by AjmoCiv.
  • Added option to adjust water percent in not_too_Big_or_Small.
  • Added Gigantic map size that is larger than Huge.
  • Changed some details of how starting locations are picked. Among other things, starting locations on large, but bad continents and in areas at the edge of bad terrain should now be much less likely.
  • Various minor fixes.

v0.23 - 18/Mar/2019 - (based on K-Mod v1.46)
  • Merged some components of PBMod_v8 by Ramkhamhaeng and Zulan:
    • Previously merged PBMod_v7, so those things were updated.
    • Included Mod Updater which can update the mod automatically ingame.
    • Added object files required for compiling new PBMod features.
    • Counterespionage can now be extended in the last turn of current counterespionage duration.
  • Dawn of Man screen always shown. Idea from History Rewritten by Xyth.
  • Permanent alliance bugfixes and adjustments:
    • Fixed the bug with espionage visibility.
    • Fixed the bug with no tech brokering status not being preserved.
    • Adjusted and fixed various counter and item sharing during team merge.
    • Increased victory conditions for teams with more than 1 member: now they need more cities and parts for cultural and space victories.
    • Changed espionage costs for teams. Now they scale similarly like research. Idea for the formula by Fran.
  • Changed how war declarations that cause other war declarations work. They used to be nested, but now they are queued so that they trigger defensive pacts and everything else in the correct order.
  • Changed how unit type for draft is selected. Conscription value is not used anymore. Unit type is selected on the basis of strength and having certain combat abilities (i.e. having the ability to attack, to get defensive bonuses, etc.)
  • When given independence, colony doesn't get free units of draft unit type anymore, but gets best available defenders like in other similar cases (free defenders of barbarian cities and culture flipped cities).
  • Changed how maximum distance is calculated to make maintenance more reasonable for toroidal maps, idea from Tides of War by SevenSpirits.
  • Barbarians now need to have reveal tech for resources to be able to build units that require them.
  • Included OOSLogger, idea from Fall from Heaven 2 by Kael.
  • If a city will be autorazed on conquest, it has * next to population number.
  • Some changes due to Nightinggale's warning about DllExports and virtual functions, more details: https://github.com/We-the-People-civ4col-mod/Mod/issues/184
  • Included some things from AdvCiv by f1rpo.
    • Fix for bug caused by multiple production of limited units.
    • Lighter player color over water on the minimap.
    • Some other bugfixes.
  • Some changes to advanced start:
    • Handicap for advanced start points is now only applied to the AI. Modifiers were changed to compensate. This way human players always get the number that is visible in the game setup.
    • Starting gold and free handicap techs are not given in advanced start.
    • Barbarians get starting research progress dependent on what do other players get in advanced start.
  • Some changes to the scoreboard:
    • Unmet dead civs can be shown in the scoreboard.
    • Added leader and civ icons to the scoreboard.
  • Techs acquired via internet cannot be sold with no tech brokering option.
  • Added build espionage process. Idea from Convert Production to Espionage by deanej.
  • Added choice of map wraps to Not too Big or Small mapscript.
  • Gifting a unit to a team member doesn't cause it to be immobile next turn.
  • Various smaller bugfixes.

v0.22 - 09/Sep/2018 - (based on K-Mod v1.46)
  • Removed C2C minimize AI turn time option.
  • Fixed a bug in culture removal after city destruction.
  • Automation is removed from AI units when AI takes over human player. (Automation was ignored previously, so no functional changes here.)

v0.21 - 02/Aug/2018 - (based on K-Mod v1.46)
  • Fixed an error in reimplementation of random leader/civ selection.
  • Fixed a bug (I introduced) where nuking a non-combat unit could crash the game.

v0.20 - 02/Jun/2018 - (based on K-Mod v1.46)
WARNING: This breaks savegame compatibility.
  • Provided only one dll which supports 48 civs (and the code on GitHub also says 48 now).
  • Included all karadoc's changes up to v1.46.
  • Set to use PB Mod_v7 PitBoss. (v7 Python PBStats files required.)
  • Colonies cannot reuse player slots as this caused bugs. They also don't inherit espionage points from parent civ anymore. (But they do inherit EspionagePointsEver.)
  • Capital cannot be moved while spaceship is underway.
  • Improved AI evaluation of SDI and Bomb Shelters. (AI thought that Bomb Shelters were completely worthless before.)
  • Fixed Bomb Shelter effect for non-combat units. (It used to decrease the chance of death by nuke to 2-3%, now it results in 39.5% chance.)
  • Moved the code for building missiles for missile carriers out of the assault case (as K-Mod did for building planes for aircraft carriers). Fixed a bug regarding the number of needed missiles.
  • First AI city in a new area is not necessarily on the coast anymore.
  • Changes to game options:
    • Hidden game options are always set to their default value.
    • Added Unlimited Permanent Alliances game option. It removes the (2 member) limit on team size for permanent alliances.
    • Fixed bug with Unrestricted Leaders game option caused by the exe having that option hardcoded in the 8th position. (Had to reimplement the random assignment of leaders/civs, idea for solution came from Fall from Heaven 2 by Kael.)
    • Added Advanced Settlers game options where settler era changes as the game progresses (where settler era is the minimum of player era and game era where game era is changed from rounding down the average to rounding the average).
  • Some adjustments to city ownership changes and city razing:
    • National (and team) wonders are destroyed when changing owners.
    • City spot doesn't disappear from everyone's map (and some culture coverage is also updated on everyone's map).
    • Disabled code for restoring floodplains when riverside desert city is destroyed.
    • Razing a city erases most of the plot culture it generated.
    • Trading a city transfers all owner's city culture and most of the plot culture the city generated for the owner.
    • Fixed a bug (?) where vassals would get free units in liberated cities.
    • City transfers by diplomatic votes leave owner's culture intact.
    • Cities cannot culture flip from master to vassal.
  • Changed and fixed some things with UN/AP resolutions:
    • Fixed inconsistencies with conditions for ability to propose and defy.
    • War resolutions can be called against voting members.
    • Defensive pacts are properly cancelled before war resolution takes effect.
    • Vassals cannot defy resolutions.
    • Players can defy resolutions assigning them a city.
    • Religious population for AP votes is divided by number of religions in the city.
    • AI can properly choose and vote to repeal resolutions.
    • Defiance penalty is given to the whole team if one member defies a passing resolution.
  • Changes to barbarians:
    • When a civilization is destroyed, all of its culture becomes barbarian.
    • Barbarian culture is shown on minimap and in the globe view.
    • Barbarians' unit support costs set to 0.
    • Barbarians affected by the same handicap modifiers (production costs, growth thresholds, war weariness and financial costs) as the rest of AI players.
    • Barbarians can now only spawn on tiles which produce food (and on sea only adjacent to land tiles with food) and the chance is higher if adjacent tiles produce more food.
    • Bugfix for creating barbarian cities (they used to get random location on empty landmasses) from AdvCiv by f1rpo.
    • Barbarian cities with Raging Barbarians game option start with a worker.
    • Enabled barbarian spawns in all eras.
    • Disabled BBAI limit for spawning of sea barbarians.
  • Imperialistic settler cost reduction also applied in Advanced Start when purchasing cities.
  • Removed extra (free) food when purchasing population points in Advanced Start.
  • Fixed detection when the AI should do advanced start in simultaneous turns game.
  • Cities on different landmasses also have to be two tiles apart.
  • Fixed a bug in unit gifting restrictions.
  • Fixed the color of unknown players in project list.
  • Average handicap is calculated by rounding instead of rounding down.
  • Gifted units cannot move for 2 turns.
  • New options for BUG Mod Scoreboard to show team score and team id number.
  • Added game era to era display in BUG Mod.
  • Adjusted project AI to changes I made previously.
  • Added verification of state religion.
  • Production overflow now supports mods with multiple buildings of the same type in a city, from Final Frontier Plus by TC01, T-hawk.
  • Minor spelling, comment and other adjustments.

v0.10 - 07/Apr/2017 - (based on K-Mod v1.45)
WARNING: This breaks savegame compatibility.
  • 48 civ dll is now the default one. 18 civ dll is also included.
  • Included all karadoc's changes up to v1.45.
  • Included additional alberts2's bugfixes.
  • Included Zholef's fixes to German language text.
  • Included high resolution waiting cursor (globe) from Leoreth's Dawn of Civilization.
  • Unused nuclear plants cannot trigger meltdown. (E.g. nuclear plant in a city with hydro plant.)
  • Multiple changes to barbarians:
    • They can build all normal land and sea military units. Only units with appropriate unit AI type supported can be spawned.
    • Blocked additional special units just for consistency. (Spies etc.)
    • Barbarians can build and upgrade units without resources, they need just revealing and enabling technologies for required resources.
    • Barbarians can upgrade units outside their territory (with limitations similar to spawn limitations.)
    • Barbarians can now hurry production in their cities.
    • Barbarians don't value commerce when building improvements, working plots and picking specialists.
    • They don't value GPP when picking specialists.
    • Adjusted the list of buildings available to barbarians. (Included culture buildings and excluded gold/commerce buildings.)
    • Removed Disorganized promotion from barbarian ships with hidden nationality. (So that they are not too obviously barbarian.)
  • Changed starting espionage weight from 1 to 0.
  • Sorted votesources in victory screen alphabetically.
  • Team members don't block each other from building wonders and projects.
  • Sorted buildings in Sevopedia without taking "the" into account.
  • Diplomatic votes, demanding tribute or accepting help now create one-way peace treaties.
  • Nukes ignore neutral players and are not blocked by them.
  • Correct (black) color for unknown players shown regardless of the max number of players.
  • Fixed permanent alliance bugs with UN/AP leader team.
  • Restricted and fixed unit gifting:
    • Fixed bug in AI evaluation of received unit.
    • Player A cannot gift combat units to player B if players B and C are in war and players A and C have a peace treaty.
    • Receiving player must have prerequisite techs for both the unit and resources required for the unit.
  • Reworked fallout feature to enable AI to understand it and scrub it efficiently: fallout is now treated like jungle/forest, i.e. improvements can be built on it and building them removes fallout.
  • Fixed bug related to minimum yield required for building improvements and removable features that lower yields.
  • Glance screen with restricted leaders now always shows all rows.
  • Human vassals are now forced to vote for their master unless they are also one of the candidates. (Just like the AI.)
  • Fixed advanced start bug that enabled infinite gold for expansive trait.
  • Fixed founding year display for AI cities built in advanced start with simultaneous turns.
  • Fixed various minor bugs I introduced previously.
  • Various adjustments to (my previous) comments and style.

v0.04 - 26/May/2016 - (based on K-Mod v1.44b)
  • Included all additional post-v1.44b karadoc's changes from K-Mod github:
    • Lots of tweaks, bugfixes and various improvements.
    • Inflated costs displayed everywhere and inflation depends on global tech state (with player's own techs having higher weight).
    • Decreased chance of spies being caught while exploring friendly lands.
    • Implemented SpecialistExtraCommerce xml field for techs (but none of the techs actually use it currently).
  • Included most of alberts2's changes up to this date (excluding karadoc's experimental balance changes):
    • Lots of bugfixes.
    • Minimize AI turn time option from C2C.
    • WB uses Platy Builder 4.17b.
  • Applied Ramkhamhaeng's patch for missing/duplicate language tags.
  • Changed (and fixed) defensive pacts behavior to BBAI option 1 as it felt more natural. (Defensive pacts do not cancel when attacked and can be signed while in war.)
  • Blocked players who have vassals from becoming peace vassals (to block them frome releasing their vassals for no good reason.)
  • Added some functionality to foreign advisor to enable normal usage with high number of civilizations on map. (Now your own leaderhead in Relations tab is an on/off button which causes that only (shift) selected leaderheads are shown in Relations and Glance tab.)
  • Disabled gifting foreign religion missionaries to theocracies (actually whenever non-state religion cannot spread to that player) to block religion spreading exploit. Also disabled gifting transports if you cannot gift all cargo (to avoid weird situations of having your units in foreign transports).

v0.03 - 14/Apr/2016 - (based on K-Mod v1.44b)
  • Added 48 players dll in addition to the standard 18 players one.

v0.02 - 20/Mar/2016 - (based on K-Mod v1.44b)
  • Tech score for teams is now counted only once and not for each player as before.
  • Circumnavigation bonus is now always preserved when forming permanent alliance, previously it was only when the player having it had smaller team number.
  • Fixed a major bug which caused unremovable espionage city visibility after forming permanent alliance for all cities that the player with larger team number had visibility of at that moment.
  • Tweaked trade screen unpause bugfix text and button location a bit.

v0.01 - 28/Feb/2016 - (based on K-Mod v1.44b)
  • Merged with PB Mod_v5. All web interface features should work. Applied pause/trade screen bugfix and few other minor bugfixes. All credit goes to the creators of PB Mod.
  • Enemy units present in city are no longer deleted when city flips, they are just bumped out of enemy borders.

Other mods based on Kek-Mod:
FF+Kek-Mod (based on Final Frontier Plus)
 
Last edited:
I've managed to get PB Mod features to a working state. Code is rather ugly as I just copy pasted and didn't change it to conform to existing code in changed files (especially the one in BUG customizable domestic advisor). So the pause/trade screen bugfix button is currently partially behind some other buttons etc., but it works. I plan on fixing all that sometime later.

Next thing I'll probably do is fixing (numerous) permanent alliance bugs.
 
I've finally fixed two major permanent alliance bugs. There's probably more stuff there that needs fixing including vassalage, maybe tech propagation and forming a colony which takes player slot of a dead player who was in a permanent alliance/team, etc.
 
If you are going to maintain K-Mod further (even if it is only for a couple of bug fixes), can you do it as a fork of karadoc's Git repository?

Would be a shame to have the source diverge into downloadable patches. And if karadoc ever comes back it is much easier for him to incorporate your fixes into the main repo.
 
If you are going to maintain K-Mod further (even if it is only for a couple of bug fixes), can you do it as a fork of karadoc's Git repository?

Would be a shame to have the source diverge into downloadable patches. And if karadoc ever comes back it is much easier for him to incorporate your fixes into the main repo.

I've done that already, there's a github link in the first post. Or did you mean something else?
 
Completely missed that, sorry for the pointless comment.
 
Does this include the changes Karadoc made in 1.45 beta?

Btw im looking forward to seeing this mod still maintained!
 
Does this include the changes Karadoc made in 1.45 beta?

Unfortunately no, because he didn't post source code. I will probably include all things from that v1.45 beta changelog he posted that I'm capable of doing myself, but I fear that that won't be much beside trivial things.
 
Oh cool! Thank you!!
I try to test it as soon as possible. I hope I can exchange the 1.42b version with this file and continue my current game.
I'm playing with GiantEarthMap, so one game is at least 30h playing time. So I hope it is compatible to the current save ;)
 
I'm having CTDs when I click for the main screen during a game. I'm pretty sure, I've only been having this since I selected a bunch of BUG options. (should I get bothered I may unselect them again to verify, but that's not now)
 
I'm having CTDs when I click for the main screen during a game. I'm pretty sure, I've only been having this since I selected a bunch of BUG options. (should I get bothered I may unselect them again to verify, but that's not now)

Could you test that sometime? And send me a list of your BUG options if that's the cause? Without those 2 things I cannot do much. I have around 10 players playing this regularly with all kinds of combinations of BUG options without reporting any problems so I don't know what is happening to you. The only thing I remember that I changed about BUG is that I added a button to customizable domestic advisor, but I think that is always on in K-Mod regardless of what you select in BUG options.

EDIT: If you had v0.01 of this fix, maybe you should start with clean K-Mod before applying v0.03 (or just delete K-Mod\Assets\XML\Text\CIV4GameTextChanged_BTS.xml) but I doubt that's the problem.
 
Well, the problem has gone away again. I've toyed around with options to replicate it but nothing. So much the better I suppose.
 
I finally updated the changelog for v0.04. Almost all of the changes are other people's work (karadoc's and alberts2's).

I made some changes to defensive pacts that are not strictly "bugfixes" as the title says (although this can be reverted trivially by changing one number in the xml). This modmod of K-Mod is basically a version that I use to play civ4 multiplayer with friends. I intend to include all the bugfixes and improvements I find useful (like those from alberts2's fork), but I might occasionally change how something works if that change is welcomed by the players whom I play with. However, I have no intention of making any balance changes (changes to building/unit stats etc.) or doing anything else "radical".
 
This is great news for Civ4 players.
Thanks for the bug fixes.

I play multiplayer Monarch level as I play with another person who is not as experienced in Civ4.
So I am not sure if this is an issue on higher levels but I notice this poor AI behavior.
The AI leaves forests adjacent to cities even late in the game, even next to the capital itself.
This aids an invasion force and even barbarian attacks.
Personally I chop down these city adjacent forests quickly.
Just wondering if this can be addressed for the AI?
Perhaps the easiest way may be to just modify the AI to place a higher weight on chopping down forests?
 
The AI leaves forests adjacent to cities even late in the game, even next to the capital itself.
This aids an invasion force and even barbarian attacks.

I know it's been almost a year since the question was written, but I think this has been addressed now in one of karadoc commits for v1.45.




I've uploaded a new version, v0.10, now based on K-Mod v1.45. Changelog is in the first post. WARNING: This certainly breaks savegame compatibility.

A lot of changes are bugfixes, but a lot of them are not, so I think that current thread title is no longer totally appropriate, but I don't have the ability to change it.
 
Top Bottom