[BNW] Iska's Stones to Stars and Empires Ascendant (Multi-Expansion Sized Mods)

I absolutely love Empires Ascendant, it's superior to Vox Populi imo in the level of expansion upon vanilla game concepts, while not seeming superfluous in nature at the same time. I don't think there's a single feature I don't like. That being said, the *only* thing I miss from VP is the localized happiness system. I've spent hours trying to extract solely that system out of VP, and while I've gotten it *almost* working numerous times now, every time I end up running into a gamebreaking bug that I can't trace. I've noticed that the .dll for EA includes many of the custom mod functions from CBP/VP, but does not include the required methods to allow the VP happiness system to function. The only way to get it semi-working is to load the CBP .dll prior to loading the Iska .dll, but that causes the aforementioned gamebreaking, difficult to trace issues. Like, I literally got the happiness functions working 100%, but for some reason, units could not be selected to be built in cities, and the unit flag manager was broken. I would be immensely appreciative if you added those happiness functions to the iska dll ;) I'd do it myself, but obviously I don't have access to the EA source etc. Many thanks for your time spent developing this mod, imo it's better than both VP and Civ VI, and would be *perfect* with the localized happiness system from CBP.
 
Thanks my dude, that's very kind of you to say. Very very high praise, I had a rough day and it was very nice to read. Modding Civ 5 represents a stage of my life I'd like to continue past; I'm now at a point where adult concerns like long term financial stability and achieving the necessary capital foundations for next steps in life preclude spending hours per day smoking and modding, as creatively fulfilling as that is. Of course, the apathy that accompanies modding is usually a flag for depression for me, so not entirely something I have control over.

EA I don't think would ever really be finished no matter how much time I spend on it, even as it is now some things feel very bare bones or unpolished to me, all though it's nice that everything's functional and I've eliminated (as far as I can tell) most of the reproducible crashes.

Earlier on in development of my mods I was using a modified version of the CPB (VP's predecessor) DLL, but I found the whole github thing inconvenient and I never particularly warmed to the VP community. VP's DLL I think still has my custom code for a fourth ideology. At this point my custom DLL has code from a variety of sources; WHoward, VP, A0K, that other guy who I forget, and that other guy, but it's still much much closer to the BNW DLL than either the VP on PnM DLLs; I didn't really change anything at all except to add custom functionality or minor observer tweaks.

Here's an unfortunate twist: at some point I decided to stop modding and moved all my files from my desktop to my external drive. After moving them back, however, my custom DLL is now refusing to compile. Extremely frustrating, and I'm sure there's a solution to this problem that can be found with some google-fu since it went from being perfectly fine to being seemingly broken just due to being moved, but I'm so disinclined towards modding that despite the many thousands of hours I've put into EA, I just don't really want to figure it out.

As I understand it, you can't load two DLLs at once, that's just not how it works, so if you were loading one after the other then is was the second one the game was running on. If you were loading VP and then EA then all sorts of fudgy things may have occurred what with caching and RAM and civ 5's now archaic 2011 memory management techniques, which those in the know (*cough* whoward) never hesitate to disparage as a product of the underpaid and overworked.

If you were getting VP and EA to work in tandem at all, then hats off to you, that's quite impressive, because it would have required a lot of UI merging. At one point many updates ago I had a working version of EA+VP, but gave up on it because 1) VP introduced a bunch of (global and local) Happiness changes which at first seemed relatively compatible with most of the EA stuff, but were actually pretty elaborate and touched a lot of under the hood Policy, Building, and Belief stuff which would have required extensive changes to EA and 2) for all that it claims to be faster and smoother, I just don't believe that it passes the same kind of QC that a AAA game studio can provide, which made me more comfortable operating on the BNW DLL as a base, knowing it was probably (relatively) more stable. That's what EA Lite was for, but eventually I gave up on that and rereleased it as a Vanilla+ thing rather than a universally compatible thing.

Anyways, rn I'm sitting in my backyard imbibing, but clearly the solution to your problem is I upload the EA DLL source (an older version I think is on github somewhere just in case my external croaked) and you can have fun with it, since you're clearly technocapable. I'll toodle over to my desktop at some point soon and do that. If you find bugs in it or in any of the EA code and want to send it to me so I can patch it, I would be honored.
 
No problem at all man, I recognize the amount of work that must have been involved to accomplish such a task and respect it very much. I also struggle with depression, having been diagnosed a few years back. I take a very low dose antidepressant and it was literally life changing; I had tried almost everything prior to succumbing to taking meds, and nothing worked anywhere near as well. Consider it if your quality of life is being impacted, seriously my man. Remember that modding is an art, as is game development itself.

Issues like that, with no clear solution, are very frustrating indeed and often require a bit of soul searching to push past. With motivation in the air, I can totally understand your position. However, considering such high quality of work, it would be an absolute shame to leave it at that; I know that myself, and I'm sure there are others, would be more than happy to oblige in getting it fixed and working perfectly again :) I genuinely believe that this mod, in combination with a select few others, creates a Civilization experience superior in enjoyment to any others currently in existence, including civ 6 and the aforementioned VP. There's some individual mods like it, which can be hodge podged together to get close, but it's nowhere near the level of polish and there is no interaction between the individual elements.

All I really did was pulled everything related to the new happiness system out of VP and dropped it into its own independent mod, such that, if loaded after EA, it replaces the vanilla happiness system with VPs. All the UI work and functional aspects are completely done, but the system can't calculate the new city needs without the required methods in the CBP dll, so you just end up with what visually *appears* to be the VP happiness system, in full working order, but it's actually still just operating off of the vanilla happiness calculations. If those methods were there to be called, it would function. Alternatively, I could write some new methods to calculate the city needs entirely in Lua, but I feel like there's a reason the cbp developers wrote those functions into the dll. I do believe, however, that with just those couple of methods added to the EA dll, it would work well enough as a foundation to fully incorporate/merge with the EA subsystems. During the process of extracting the happiness system out of VP, I became quite familiar with how it calculates and modifies the new empire needs variables, and everything aside from the base number is done on the Lua side. All policy/building/pantheon effects etc. So, when you load my stripped version over EA, the only thing it throws error for are the base calculations, but the modifiers all still work.

EA Lite, imo has all the features needed to still topple the throne of VP, and it's what I decided on using as a base. While the currency feature of full EA is very neat, the significantly better performance and compatibility of Lite made it the winner in my eyes. JFDs Tribes is also weirdly unstable IME and, while another very neat feature I'd rather have than not, it isn't worth the current instability (though it could just have been caching issues, I still don't know lmao). VP is great as a razor-balanced 'competitive' Civilization experience, and the AI improvements are nothing to be scoffed at, but it's still shackled by their refusal to actually expand upon mechanics, instead of perpetually polishing them with infinitely finer grit. It makes decisions a bit more impactful, but they're still the same decisions, just adds more thought required prior. There is much more room for emergent and diverse gameplay in EA. In short, I feel like EA was overshadowed by VP and hasn't gotten anywhere near the praise or attention it deserves!

If you're willing to share the source, I'd be happy to at least get it compiling again and squash any bugs that pop up. I will say, however, that EA Lite in its current state seems very stable after a few minor Lua fixes, I've played a few Quick speed games to completion with less than a handful of crashes (and I think those were actually due to me accidentally running out of storage space and not realizing, lol). I have everything needed for real time debugging etc, just let me know :)
 

Attachments

  • vpeaui.png
    vpeaui.png
    1.7 MB · Views: 4,096
It's hard to express how much your words mean to me. Thank you very much. Here's a link to the DLL.

If you have any questions feel free to message me.

Since you asked a while back (sorry it took so long to reply), the specific part for Casus Belli requires modifying CvDiplomacyAIHelpers::ApplyWarmongerPenalties inCvDiplomacyAI.cpp to the following:

C++:
void CvDiplomacyAIHelpers::ApplyWarmongerPenalties(PlayerTypes eConqueror, PlayerTypes eConquered)
{
    CvPlayer &kConqueringPlayer = GET_PLAYER(eConqueror);

    int iWarmongerModifier = 1;
    ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();
    if (pkScriptSystem)
    {
        CvLuaArgsHandle args;
        args->Push(eConqueror);
        args->Push(eConquered);

        // Iska catchme
        // Attempt to execute the game events.
        // Will return false if there are no registered listeners.
       
        LuaSupport::CallAccumulator(pkScriptSystem, "GetWarmongerPenaltyModifier", args.get(), iWarmongerModifier);
    }

    for(int iMajorLoop = 0; iMajorLoop < MAX_MAJOR_CIVS; iMajorLoop++)
    {
        PlayerTypes eMajor = (PlayerTypes)iMajorLoop;
        if (eConqueror != eMajor && GET_PLAYER(eMajor).isAlive())
        {
            // Have I met the player who conquered the city?
            CvTeam &kAffectedTeam = GET_TEAM(GET_PLAYER(eMajor).getTeam());
            if (kAffectedTeam.isHasMet(kConqueringPlayer.getTeam()))
            {
                int iNumCities = max(GET_PLAYER(eConquered).getNumCities(), 1);
                int iWarmongerOffset = CvDiplomacyAIHelpers::GetWarmongerOffset(iNumCities, GET_PLAYER(eConquered).isMinorCiv());
                // Half penalty if I'm also at war with conquered civ
                //if (kAffectedTeam.isAtWar(GET_PLAYER(eConquered).getTeam()))
                //{    YOINKED! Modified by Iska for Casus Belli
                iWarmongerOffset *= iWarmongerModifier;
                //}

                GET_PLAYER(eMajor).GetDiplomacyAI()->ChangeOtherPlayerWarmongerAmount(eConqueror, iWarmongerOffset);
            }
        }
    }
}
 
Whenever you get it up and running, it's something I'd love to add to EA, but if you'd rather keep it as a separate modmod, then that's cool too :)

Same goes for whatever fixes you've got for EA Lite :)

If you want to know exactly what changes I made to the DLL, upload to github the original BNW DLL, then do the github-y thing of adding the new one on top, it'll show you all the changes to all changed files.
 
EA is probably my favourite mod, the only reason I don't play it much is that the turn times are much slower for me, but as I'm on an old laptop from 2014 that was lower end even then I don't blame the turn times taking so long.
 
Am I mistaken in thinking that IGE is part of this mod? If not: I'm experiancing a glitch that makes it and several other things not work. If so: What would need to be deleted from the mod to make the IGE mod work?

BTW the glitches I'm experiancing are that a ton of the text for stuff isn't working properly. I'll be catagorising them by where they are found and type in what they say and in parenthesis what they are supposed to be for. If I'm unsure I will put a question mark at the end. Any comments I have will be within brackets:

1)Setup Screen Selectable Options:
A) TXT_KEY_GO_6PCS (I have no idea what this is supposed to be for)
B) TXT_KEY_GO_AI_ONLY (Enable AI only matches?)
C) TXT_KEY_GO_BARBARIAN_CITIES (Allows Barbarians to capture or found cities?)
D) TXT_KEY_GO_CHILL_BARBARIANS (Makes Barbarians not attack anything?)
E) TXT_KEY_GO_DYNAMIC_FOW (I have no clue)
F) TXT_KEY_GO_IGE (Enables or disables the usage of IGE?) [I have tried having this enabled and disabled both with and without the IGE mod and it does nothing]
G) TXT_KEY_GO_NO_B_LINING (Prevents players from b-lining the tech tree?)
H) TXT_KEY_GO_NO_COLONIES (Prevents people from creating colonies?)
I) TXT_KEY_GO_SPAWNS (I have no idea what this is supposed to do)

2) Setup Screen Hovering Over Options Tooltip [I don't know what they're actually called]:
A) All of the items in part 1, but the words have _HELP after what I've already written for section 1

3) City View Local Yields [All of the text errors hide the values behind them, so I can't tell what the value is for the cities]:
A) TXT_KEY_CITY_VIEW_HEALTH_TEXT (Shows the Dissease Health factor of the city)
B) TXT_KEY_CITY_VIEW_PROSPERITY_TEXT (Shows the Prosperity factor of the city)
C) TXT_KEY_CITY_VIEW_SLAVES (Shows the ammount of Slaves in the city)
D) TXT_KEY_CITY_VIEW_CRIME_TEXT (Shows the ammount of Crime in the city)
E) TXT_KEY_CITY_VIEW_LOYALTY_TEXT (Shows the city's Loyalty)
F) TXT_KEY_CITY_VIEW_HOUSING_TEXT (Shows how much Housing a city has)
G) TXT_KEY_CITY_VIEW_POWER (Shows how much electrical power a city has)
H) TXT_KEY_CITY_VIEW_POLLUTION (Shows how much Pollution the city is making)

4) City View National Yields [Same problem as with section 3]
A) TXT_KEY_CITY_VIEW_AUTHORITY_TEXT (shows how much Authority the nation is producing)

5) City View Hover Over Options Tooltip:
A) Everything except local yield production, national yeild faith, national yeild science, national yield gold, national yield culture, and national yield tourism has at least some text errors. Most of wich are long and would be super tedious to type out for all of them, so I'm lumping them all together here.

6) Specialists
A) Everything related to the Scribe has Text Errors

7) Great People
A) Everything about the Great People added by the mod has text errors.

8) Religion-Related Items [I don't know if any of these even work because I don't know what they do]:
A) All follower beliefs related to Crime, Health, and Prosperity have text errors.
B) Ritual Beliefs with text errors: TXT_KEY_BELIEF_FESTIVAL_PANTHEON_SHORT, TXT_KEY_BELIEF_FESTIVAL_PANTHEON2_SHORT
C) Founder Beliefs with text errors: TXT_KEY_BELIEF_FESTIVAL_FOUNDER_SHORT
D) The automatic Favor Purchase tab doesn't show the selected option in the box.

9) Social Policies:
A) The header for the Astetics and Rationalism policy trees are broken
B) All of the text related to the Grandeur, Knowledge, and Industry policy trees are broken [Due to the text being broken I don't know if any of these trees even work]

10) Mod Compatability:
A) Mods that add stuff to the Additional Information tab don't have their option in the tab, yet they still are working from what I can tell. The mods that add things to the additional information tab that I'm using are Sukritacts Events and Decisions (v 3) and Palace and Throne Room by alexwebb2 [While Sukritacts E&D needs no introduction, Palace and Throne Room adds the Palace from civ 1 and the throne room from civ 2 with some minor adjustments to the civ 2 throne room to make it different for each in-game country]

11) Notifications:
A) The text for the notification that a person has emigrated to one of your cities is broken.
 
Last edited:
Hello folks, newbie here, please be gentle. I do not know how to install this mod, forgive my ignorance i haven't noticed an explanation & if anybody would give me a quick rundown it would be much appreciated?, thanks.
 
You can subscribe to in on steam
links: https://steamcommunity.com/sharedfiles/filedetails/?id=2059129972
https://steamcommunity.com/workshop/filedetails/?id=1742485559
or you can download the zip from the google drive, take the zip to your mods directory (should be something like, documents, my games, Sid meiers civilization 5, MODS) and extract the zip file.
link for manual download https://drive.google.com/file/d/1mVf_EpVs_JpgYOMpL8MeVw2NURB_q-Kx/view
Thank you very much for the explanation, have a good day.
 
Hi Iska, I was wondering if I could use parts of your mod that I have modified as part of a bigger mod. Also some advice on which components are dependent on your dll would be great.
 
Hi everyone, new playing the mod here, at least trying to. I have encounter a bug that doesnt let me even star from turn one. Spawning the settler in a new game and a XCOM SQUAD?, the tech tree is broke too and the production queue of the UI system. I really want to play this, im looking for new experiences on Civ V over 1200 hs of game. Thanks!
 
Hi everyone, new playing the mod here, at least trying to. I have encounter a bug that doesnt let me even star from turn one. Spawning the settler in a new game and a XCOM SQUAD?, the tech tree is broke too and the production queue of the UI system. I really want to play this, im looking for new experiences on Civ V over 1200 hs of game. Thanks!
Hello there, just wanted to let you know know that there is a more updated version of this mod (but sadly not in modpack form) on the Steam Workshop. So if you really just want to play it (and not in multiplayer with a modpack), I'd consider checking this link:


It does have somewhat more complex installation requirements than just hitting subscribe, but everything is explained on the Steam Workshop Page.
 
Back
Top Bottom