My ideas for Fall Further Modmodmodmodmod

What about soldier of Kilmorph? Could we give the Paramander the ability to obsolete the Soldier? Just give the Paramander the 3-1 hammer transferral ability of the soldier. I noticed the Scions have a unique tier 1 disciple unit that can be used for culture. I could do without that minor ability if any other disciple units (with medic 2) are available.

This could be good, although paramanders have a higher cost and a positive alignment modifier, which kind of shifts their role

I think the :hammers: ratio is 2:1, not 3:1. am I mistaken?
 
Weird, I'm looking at the XML and the Soldier of Kilmorph is 90 cost, 45 hurry. I thought they were 60 cost 20 hurry. Anyway... I'm gonna shelve the fractional trade UI changes for now and work on the other stuff.
 
How does one read the crash reports? Way back when, when the program crashed on someone they were able to tell me which function specifically caused it. This allowed me to find out what was causing the crash even when I wasn't able to reproduce it. Now that I can reproduce crashes, how do I interpret them?

It seems I tried to add too much too fast.
 
How does one read the crash reports? Way back when, when the program crashed on someone they were able to tell me which function specifically caused it. This allowed me to find out what was causing the crash even when I wasn't able to reproduce it. Now that I can reproduce crashes, how do I interpret them?

It seems I tried to add too much too fast.

Need to turn on the crashdumps in the .ini file for BtS, which will allow you to save a .dmp file to one of your temp folders. The window pops up behind Civ4 if the game crashes, so you just Alt-Tab and can choose between Full dump or Normal dump. "Full" I believe will drop the memory contents into the file as well, which is rarely needed, so "Normal" is fine, normally.

Then you can use "WinDbg" (part of Debugging Tools for Windows) to inspect the exception. The relevant command in WinDbg once you've opened the dump is !analyze -v (-v is Verbose, so more info).
 
Yeah, working with the UI can be a bit of a pain, but if you want to be nice to your players it is just something which you have to slog through. If you look at how XP is displayed (in CvMainInterface, right where your changes to traderoute yield display will wind up being) you will see a handy way to have it display in decimal form and only use as many decimals as it requires for the current value.
 
Argh, confusing.

I added in the XML changes that my mod called for and the crashes stopped. Culture spreading from trade does not seem to be working, however. I do not seem to be able to load games though. I get a process error? The error message flashes briefly, then the game disappears without the usual crash message. This happens even if the first thing I do is load the game. I think the error says, "Failure to uncompress game data."

Edit: I found a bunch of code I didn't copy over from my holistic cultural model. There's so much stuff that's different in the FF code when I difference the vanilla code to merge my changes over it just looks... Weird.
 
I used to maintain a VERY different code layout just so WinMerge back to base FfH would look nice. Had some complaints from people starting to use my code that it was a tad confusing (and I admit that many times it got in my way as well, but equally often it was useful). So yeah.... WinMerge sucks with my code, especially in CvUnit/CvInfos/CvGameTextMgr.


Failed to Uncompress means either you are using a save from before your changes and you broke the save, or if you JUST saved the game while running and then tried to reload, it means somewhere you got the order of your ::read(pStream) and ::write(pStream) files messed up. Anything listed in one MUST be in the other, and in the same order.
 
I used to maintain a VERY different code layout just so WinMerge back to base FfH would look nice. Had some complaints from people starting to use my code that it was a tad confusing (and I admit that many times it got in my way as well, but equally often it was useful). So yeah.... WinMerge sucks with my code, especially in CvUnit/CvInfos/CvGameTextMgr.


Failed to Uncompress means either you are using a save from before your changes and you broke the save, or if you JUST saved the game while running and then tried to reload, it means somewhere you got the order of your ::read(pStream) and ::write(pStream) files messed up. Anything listed in one MUST be in the other, and in the same order.

I did add a couple read and write bits to the code. I'll re-check them to make sure I'm saving/loading everything properly. I appreciate all of the help. :)
 
A good practice to get into when modding the DLL is to stop at any point that your code becomes compile-capable again and load the game using it. Start a new game, quicksave/quickload, run 10 turns of autoplay, then quicksave/quickload again. This practice catches 70% of all simple typo related bugs which can crop up on you, and does it quickly enough that you don't have to hunt too hard to fix things (for the sake of compiling quickly, I tend to plan ahead a few functions/tags and add everything to the header files before I touch ANY cpp files, test that, then start in CvInfos and branch out from there, hitting GameTextMgr as early as possible so I can load some real values into the XML and verify proper display)
 
Well, currently the only code I'm using that's new is the trade decimal code. Any other errors cropping up seem to be due to incomplete copying over of the code I have changed, as the rest of the code in it's first incarnation is rock solid.

A proper 3-way merging tool (so I could difference Base Civ4 and my mod's code, and then push those changes into the FF code) might help prevent some of these errors.

On a side note, the code seems to crash if the globaldefinealt entry is missing. I wonder if I should reprogram a couple bits to account for this possibility, maybe put in an fassert statement in or some such.
 
Typically I do a simulated 3-way merging tool when updating to the latest FfH patches. Compare latest FfH with previous FfH, then manually move the code into my base. Semi-tedious, but easier than any other option. The same may benefit you in this case. Use Winmerge on your code against BtS, then manually port everything into our code.
 
One idea I'm thinking of is to do a add a "diversification" bonus to trade routes. For every foreign trade route beyond the first, a city would have a larger trade value for all foreign trade routes. Thus, being peaceful with as many civs as possible means more profit. In this way, declaring war on someone will hurt your economy, rather than merely having your trade routes reassigned to other cities.
 
Very good idea.

I can't figure out how to implement it in such a way that doesn't require brute force coding involving checking all possible combinations of all cities. The easier way would be to add a bonus scaled to the number of open borders deals a civilization has. For every civ beyond the first the player has open borders with, +25%. But only for foreign routes. Intra-national routes don't get this bonus.
 
Another idea to bring back great generals!

Great generals are immortal units. When attached to a unit the unit gets the experience of the great general in addition to the unit's own experience. If the unit happens to die, the great general (but not the whole unit) respawns back in it's owner's capital, ready to re-attach. Half of all experienced earned by the unit is awarded to the great general.

A few changes would be required. Sidar wouldn't be able to turn such units into shades (I want to also block heroes from turning into shades as well to prevent certain.. Accidents). Additionally this might obsolete the Grigori heroes. Great generals might not come as freely (because I plan on making them pretty rare) or as early, but they would be immortal compared to having multiple heroes. The consequences of this would be rather interesting, as then there will be 4 kinds of units: Normal units, heroes which are best preserved and managed carefully, Great generals, which can be sacrificed but at a cost, and immortal units, which can be used freely without fear.

I never was quite fond of the finality of loss = unit death. All that does is encourage using a unit cowardly in battles it has no chance of loosing. And if that unit encounters a stack of death that can wear it down and gobble it... Well, shoulda had a mage with metamagic to see how many horsemen were nearby.

One more idea: NEw unit, Shaman. This unit can be built early on (is obsoleted by the adept), no passive XP gain, strength 2, can learn 1 spell sphere (can learn more if one manages to level them up). Gives civs a means to splash into magic if they do not grab knowledge of the ether or build mage guilds.

Finally, I am tempted to add spearmen and pikemen back in. And I might see if I can make units have multiple classes, like horse archers cavalry _and_ archers. Though the anti-promotions might need to be nerfed down to +30%, so all 3 promotions would be +60% versus hybrid units compared to 3 combat promotions.
 
Um...
Taking cities culturally is near impossible
Lol, wut? In this mod, yes, but Vanilla Civ 4 and most mods, I've culture flipped hundreds of cities. Its' not impossible. Or anywhere close...

You just have bad luck. And you need more great artists. :)
 
Okay, fractional trade route counting is fixed, fully. I did all of the necessary code changes to make it work. Or, at least I think I did. When I can test it, I'll post the code.

Right now I seem to be stuck on a small problem. I'm trying to re-add great generals back into the game. I added this to the XML, but it causes the game to crash on loading!

Code:
		<UnitInfo>		
			<Class>UNITCLASS_GREAT_GENERAL</Class>
			<Type>UNIT_GREAT_GENERAL</Type>
			<UniqueNames/>
			<Quotes/>
			<Images/>
			<Special>SPECIALUNIT_PEOPLE</Special>
			<Capture>NONE</Capture>
			<DefaultUnitAI>UNITAI_GENERAL</DefaultUnitAI>
			<Description>TXT_KEY_UNIT_GREAT_GENERAL</Description>
			<Civilopedia>TXT_KEY_CONCEPT_GREAT_GENERALS_PEDIA</Civilopedia>
			<Strategy>TXT_KEY_UNIT_GREAT_GENERAL_STRATEGY</Strategy>
			<bOnlyDefensive>1</bOnlyDefensive>
			<UnitAIs>
				<UnitAI>
					<UnitAIType>UNITAI_GENERAL</UnitAIType>
					<bUnitAI>1</bUnitAI>
				</UnitAI>
			</UnitAIs>
			<NotUnitAIs/>
			<Flavors>
                <Flavor>
                    <FlavorType>FLAVOR_GROWTH</FlavorType>
                    <iFlavor>1</iFlavor>
                </Flavor>
                <Flavor>
                    <FlavorType>FLAVOR_MILITARY</FlavorType>
                    <iFlavor>3</iFlavor>
                </Flavor>
            </Flavors>
			<iCost>-1</iCost>
			<iMoves>2</iMoves>
			<bNoRevealMap>1</bNoRevealMap>
			<UnitMeshGroups>
				<iGroupSize>1</iGroupSize>
				<fMaxSpeed>1.25</fMaxSpeed>
				<iMeleeWaveSize>1</iMeleeWaveSize>
				<iRangedWaveSize>1</iRangedWaveSize>
				<UnitMeshGroup>
					<iRequired>1</iRequired>
					<EarlyArtDefineTag>ART_DEF_UNIT_WARLORD_ANCIENT</EarlyArtDefineTag>
				</UnitMeshGroup>
			</UnitMeshGroups>
			<LeaderPromotion>PROMOTION_LEADER</LeaderPromotion>
		</UnitInfo>

If I comment it out, the game loads just fine. I added the appropriate unitclass and the appropriate promotion being referenced. Is there something I'm missing?
 
One more idea: NEw unit, Shaman. This unit can be built early on (is obsoleted by the adept), no passive XP gain, strength 2, can learn 1 spell sphere (can learn more if one manages to level them up). Gives civs a means to splash into magic if they do not grab knowledge of the ether or build mage guilds.

I like this idea.

It does kind of conflict with the face that several barbarian civs have a "Shaman" adept UU but I'm sure that could be revised.

I'd advise making shamans a str2 unit, that can ONLY learn spells from your palace mana. Even if you get other mana sources. And make them upgradeable into adepts.

Then give the amurites a free shaman to start with.
 
Um...
Lol, wut? In this mod, yes, but Vanilla Civ 4 and most mods, I've culture flipped hundreds of cities. Its' not impossible. Or anywhere close...

You just have bad luck. And you need more great artists. :)

Still not sure what game you're playing, but in Vanilla, if you have 4 cities, say, B, C, X, Y, arranged linearly and owned by their respective ends of the alphabet, once city C or X flips, trying to flip B or Y is practically impossible: It has all of the culture in that plot from city C, city B, and likey city A have been piling up on top of it. Add on the fact that culture gets a 20 point boost for each level beyond the first, so one will need to generate at least 60 culture to counter-act this effect, not including what will be needed to reverse it. Trust me, the mechanics need some help.

Flipping one city is hard, yes. Taking over an entire civilization through culture? Impossible.

The holistic model allows one civilization to achieve a cultural victory by literally flipping everything on the map. None of the silly "reach the magic number and win". With a bit more tweaking (like changing culture from trade) and the addition of some more +culture buildings (to roughly balance it out with Vanilla Civ4) it could turn out to be a meaningful mechanic instead of something that takes the backlight to warfare.
 
Top Bottom