1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

[ModMod] Kek-Mod v0.25b

ModMod for K-Mod

  1. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    Are you using Visual Studio? And which version?
    It works fine for me with the 2017 version, so maybe it doesn't work with some of the earlier versions of the compiler bundled with Visual Studio.

    I had encountered similar errors before and basically it's saying that the file or some if its contents are too large, so this could probably be fixed by splitting the CyInfoInterface3.cpp file in two parts. But I would first try to use the 2017 version of Visual Studio.
     
  2. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,906
    Location:
    israel
    Hi,
    You got missing file defs,

    I will get you proper compile files once ill fix my cpu.
     
  3. vaxerski

    vaxerski Chieftain

    Joined:
    Sep 28, 2019
    Messages:
    2
    Gender:
    Male
    2017?? For any Civ4 DLL i tried, compiling with any VS above 2010 would never work :/ (this was 2005 or 2008 iirc)


    thanks.
     
  4. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,906
    Location:
    israel
     
  5. f1rpo

    f1rpo plastics

    Joined:
    May 22, 2014
    Messages:
    970
    Location:
    Germany
    With the K(ek)-Mod make file, Visual Studio shouldn't be involved in the build process. Though with the latest Visual Studio versions and Win 10, who can tell.

    It might be enough to move a few definitions from CyInfoInterface3.cpp to the smaller CyInfoInterface2.cpp. E.g. python::class_<CvYieldInfo... and python::class_<CvTerrainInfo... The rest of the terrain-related interface is already in CyInfoInterface2.cpp, so this would actually be a bit neater.
     
  6. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,906
    Location:
    israel
  7. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    It works perfectly fine with 2017 for me, although I also have 2010 installed on this machine.
     
  8. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    I have uploaded a new version, v0.25b. Changelog is in the first post, code and commit logs are on GitHub.

    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).
     
    Last edited: Oct 6, 2020
    f1rpo likes this.
  9. TheOnlyDJCat

    TheOnlyDJCat Warlord

    Joined:
    Dec 31, 2006
    Messages:
    117
    Location:
    Germany
    Hi!

    I played a few single and multiplayer games with the new version. It was kind of refreshing, that the AI used other techniques in the late game, than I was used to (played plain K-Mod for several years)
    Especially the defensive pacts ans spies are used more efficiently now) I'm still waiting for the first deity win on GiantEarthMap with this...)
    Great work!
     
  10. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    Hi, thanks for the feedback!

    I don't think that I changed anything important related to espionage (except fixing permanent alliance bugs and some related adjustments). However, I did add "Build Espionage" process (unlocked with Communism) that was previously available only for other commerce types, but I don't really know does AI use that much. This could enable the AI to have more espionage points in the late game, especially on higher difficulties.
    I did change how defensive pacts work, so yeah, you should be seeing a lot more of those than in K-Mod.
     
    Last edited: Dec 31, 2020
  11. Montezuma12

    Montezuma12 Chieftain

    Joined:
    Apr 13, 2014
    Messages:
    17
    I've been enjoying this mod a lot, thankyou! I was wondering if there is a way to port the giant map size to other mods too? I am familiar with XML (I guess most are), but awful at Python.
     
  12. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    This is the commit where I implemented the gigantic map size. In addition to XML changes, I also made minor changes to both Python code and the DLL (C++) to account for the additional entry. Changing the DLL requires recompiling of the DLL which might be intimidating if you are unfamiliar with that, but you can find good guides for that on this forum.

    It would be easier to change one of the existing map sizes (without adding an additional entry) because that could be done by editing just 2 files: CIV4WorldInfo.xml and CvMapGeneratorUtil.py (and an xml text file if you want to rename that map size).
     
    Last edited: Feb 26, 2021
  13. TheOnlyDJCat

    TheOnlyDJCat Warlord

    Joined:
    Dec 31, 2006
    Messages:
    117
    Location:
    Germany
    Hi!
    I played several more games with this mod (and had my first deity win ;) )
    I remember two strange things.

    - During some time in the renaissance age (I hope I rmeember correctly) spawned 2-3 barbarian Privateers per turn on the same coast. I did not check in world builder, if this happens on other places in the map. But this was a bit much for my coast line and it happens 30-40 turns, then suddenly stopped.
    - Sometimes I had a peacy treaty due to demands and before the treaty stopped, the opponent civ suddenly declared war on me (perhaps due to a demand from another civ)
     
  14. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    Wow. What settings did you use?

    There is currently an issue with this in the mod. I made some changes that make barbarian Privateers (and other barbarian ships) more annoying than they perhaps should be.
    First, I removed some BBAI limits for barbarian spawns on the sea because I disliked how they were implemented. This increased the number of barbarian ships back to BTS levels. But BTS also had no barbarian unit spawns in Renaissance and later eras at all which is another limit I removed.
    And I also removed K-Mod's Disorganized (-10% strength) promotion from spawned barbarian Privateers because it used to make it possible to differentiate barbarian and non-barbarian hidden nationality units.

    During my games, the number of barbarian ships was noticeably higher and this was something you had to pay more attention to, but it was still borderline manageable. It had the intended effect that you had to defend your coast tiles with a strong(er) navy during certain phases of the game. What I didn't fully take into account is that, for example, the number of barbarian ships is 1.33x higher in Immoral (and 1.6x higher in Deity) when compared to Monarch and all this changes combined probably make the sea barbarian pressure too high on higher difficulties.

    What I would like to do is to overhaul how the number of barbarian ships spawned is determined. Currently all unowned water tiles which are part of the same water body affect that number. And this makes the sea barbarian dynamic weird because not all (or most) water tiles will become owned during the course of the game unlike land tiles. I would like to make that effect more local like it was done in Advanced Civ and base the number of barbarian ships spawned on unowned local coast tiles while still keeping the primary BTS barbarian spawn mechanism where unowned tiles = barbarians.

    There are a few situation when peace treaty will not stop a declaration of war. Some of these are declarations of war caused by defensive pacts, AP/UN resolutions and capitulations. These are all present in BTS.
    But what most likely happened is that you experienced effects of a change I implemented: peace treaties due to demands are now one-sided so if civ A demands something from civ B and civ B agrees to the demand then civ A can't attack civ B, but civ B can still attack civ A. I think that this makes more sense than the previous situation where in addition to the demand being granted you would also get the security of a peace treaty.
     
    Last edited: Mar 19, 2021
  15. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,906
    Location:
    israel
    I always, didnt like spawning only on unowned tiles.
    I did like the pesky barbs from platyping, that spawned inside culture borders.
    So you could have late game barbs.
    More challenge.
     
  16. TheOnlyDJCat

    TheOnlyDJCat Warlord

    Joined:
    Dec 31, 2006
    Messages:
    117
    Location:
    Germany
    I always play Giant Earth map (GEM) with No technology brokering and marathon. With Caesar you have a big advantage due to Praets and crowded Europe
    Ok, perhaps it has something to do with the giant landmass/coast line in this map? it seems the total count of privateers may be ok, but they are all stuffed in the northern sea :)
    This makes sense if I remember that correctly. Then I have to keep an eye on that and do not feel so safe then :)
     
  17. TheOnlyDJCat

    TheOnlyDJCat Warlord

    Joined:
    Dec 31, 2006
    Messages:
    117
    Location:
    Germany
    Hi!
    This week I ha d the second time the problem, that I want someone to become my vassal and ask what would have to be done to accept the deal, but instead of accepting I get the error dialog, that only one civ can add something to the trade screen, and then he demands 3 technologies and all available money. This is ridiculous, beucaes I have four times more power and cities. It seems like some kind of overflow bug? It only happened in modern times and only shortly before winning by conquest.
     
  18. DarkLunaPhantom

    DarkLunaPhantom Prince Supporter

    Joined:
    Feb 4, 2013
    Messages:
    459
    Hi,
    that kind of error dialog happens when you are at war because then only one civ can give things in return for a peace treaty, i.e. no two-sided trades are allowed in the context of a peace treaty.
    Can you upload a save file of the situation?
     
  19. TheOnlyDJCat

    TheOnlyDJCat Warlord

    Joined:
    Dec 31, 2006
    Messages:
    117
    Location:
    Germany
    Hi!

    Took me some time to reproduce this from older saves :)
    Here are two saves, one with correct vassalize offer, and 8 turns later with buggy offers.
     

    Attached Files:

    DarkLunaPhantom likes this.

Share This Page