RifE 1.20 Bug Thread

Ahhh, turning 22...Happy Birthday, V!

Most of my socks are older than you.

Thanks for time and effort on this modmod. Even old coots like me (almost 62) get great enjoyment out of it...when we're not busy eating orcs, of course. :D

PS. Drinking kills brain cells, so be careful. You are going to need all of those to figure out what's causing these CTDs. Happy New Year!
 
There will be, yes, but I haven't been actively modding since the patch came out. RL stuff got in the way, between turning 22, Christmas, friend being back and then moving to Washington DC. :lol:

After today/tomorrow (New Years, obviously drinking. :mischief), I'll start work again.

"you will never find a more wretched hive of scum and villainy"


It's good to hear that there will be a fix for this. While you're partying make sure you don't fry any brain cells that pertain to modding CIV IV!:D[party]:band:

:ar15: BUGS
 
@previous SW reference:
Try checking Mos Eisly?

@Valk: Merry belated Christmas and potentially belated Happy Birthday.
 
The Clear Swamp spell refers to a non-existent function clearSwamp .

---

Field Fortification is really buggy. It clears all features if the caster isn't an elf, it spawns only basic fort commanders and there is no check to make sure only one commander is made. I suggest replacing the spellPioneer function with this:

Code:
def spellPioneer(caster):
    pPlot = caster.plot()
    iFeature = pPlot.getFeatureType()
    iCivType = gc.getPlayer(caster.getOwner()).getCivilizationType()
    if iFeature in ( gc.getInfoTypeForString(forest) for forest in ('FEATURE_FOREST', 'FEATURE_FOREST_BURNT', 'FEATURE_FOREST_NEW', 'FEATURE_FOREST_ANCIENT', ) ):
        if iCivType not in ( gc.getInfoTypeForString(elf) for elf in ('CIVILIZATION_LJOSALFAR', 'CIVILIZATION_SVARTALFAR') ):
            pPlot.setFeatureType(FeatureTypes.NO_FEATURE, -1)
    elif iFeature in ( gc.getInfoTypeForString(jungle) for jungle in ('FEATURE_JUNGLE', ) ):
        if iCivType not in ( gc.getInfoTypeForString(lizard) for lizard in ('CIVILIZATION_CUALLI', 'CIVILIZATION_MAZATL', 'CIVILIZATION_CLAN_OF_EMBERS', ) ):
            pPlot.setFeatureType(FeatureTypes.NO_FEATURE, -1)        
    if reqClaimFort(caster):
        spellClaimFort(caster)

It leaves features alone, except forests for non-elves and jungle for non-lizards or orcs and uses the normal hire commander functions, so spawns correct Fort Commanders and only one per tile.

---

Forts were very strange in my game. One was taken over by a boar, an it spawned a plant of some sort as commander and downgraded the fort to a goblin fort.

Then I sent in the troops, cleared the plant and found that all my units had cast spell that turn. Next turn, my units were bumped from the fort, and a new plant grew in the fort.

The third time I claimed the fort, I had intentionally saved a unit to claim the fort the same turn. I did, got the fort and then a few turns later... a barbarian city spawned right on top of my fort.

---

Incidentally, I think the Boss is overpowered. It's stronger than scouts, can lead units, recruit cannon fodder for a mere 10:gold:, recruit Archers without Archery, recruit Trolls, build Forts in three turns without Construction... Neat idea, but dial it down some, please.
 
The Clear Swamp spell refers to a non-existent function clearSwamp .

---

Field Fortification is really buggy. It clears all features if the caster isn't an elf, it spawns only basic fort commanders and there is no check to make sure only one commander is made. I suggest replacing the spellPioneer function with this:

Code:
def spellPioneer(caster):
    pPlot = caster.plot()
    iFeature = pPlot.getFeatureType()
    iCivType = gc.getPlayer(caster.getOwner()).getCivilizationType()
    if iFeature in ( gc.getInfoTypeForString(forest) for forest in ('FEATURE_FOREST', 'FEATURE_FOREST_BURNT', 'FEATURE_FOREST_NEW', 'FEATURE_FOREST_ANCIENT', ) ):
        if iCivType not in ( gc.getInfoTypeForString(elf) for elf in ('CIVILIZATION_LJOSALFAR', 'CIVILIZATION_SVARTALFAR') ):
            pPlot.setFeatureType(FeatureTypes.NO_FEATURE, -1)
    elif iFeature in ( gc.getInfoTypeForString(jungle) for jungle in ('FEATURE_JUNGLE', ) ):
        if iCivType not in ( gc.getInfoTypeForString(lizard) for lizard in ('CIVILIZATION_CUALLI', 'CIVILIZATION_MAZATL', 'CIVILIZATION_CLAN_OF_EMBERS', ) ):
            pPlot.setFeatureType(FeatureTypes.NO_FEATURE, -1)        
    if reqClaimFort(caster):
        spellClaimFort(caster)

It leaves features alone, except forests for non-elves and jungle for non-lizards or orcs and uses the normal hire commander functions, so spawns correct Fort Commanders and only one per tile.

Damnit, I was sure I'd added that function. Will fix it.

Field Fortification uses the Pioneer code, which is very old. From before the normal Claim Fort spell was rewritten. Will use your code though, faster than writing it myself. :lol:
 
Seems the changed file are absent from 1.20 package (still the one from 1.12) ?

EDIT : also, shouldn't all <bMoveImpassable>1</bMoveImpassable> be replaced by <bClimbPeaks>1</bClimbPeaks> ?
(I found one left for PROMOTION_KINDRED_GRIFFIN).
 
Seems the changed file are absent from 1.20 package (still the one from 1.12) ?

EDIT : also, shouldn't all <bMoveImpassable>1</bMoveImpassable> be replaced by <bClimbPeaks>1</bClimbPeaks> ?
(I found one left for PROMOTION_KINDRED_GRIFFIN).

You mean the DLL? No, I just distributed the entire folder rather than files changed from FF's DLL. Figured I'd do away with relying on any other mod entirely. :lol:

As for MoveImpassable, most likely. I went through Units and most promotions, think I left Griffin Kindred alone as it refers to a flying creature... Doesn't mean the unit can fly though, so it needs to be changed. :p
 
You mean the DLL? No, I just distributed the entire folder rather than files changed from FF's DLL. Figured I'd do away with relying on any other mod entirely. :lol:

Stupid me, I didn't see the new folder !
 
Stupid me, I didn't see the new folder !

about the new dll files, which are the ones changed by Sephi's Hotfix ? ( and what is the change?)

Yeah, need to give you that don't I. :lol: I'll post the one changed file in a little while (busy atm), but it's in CvPlot, in getWantedClimate().

The change is in bold:

Spoiler :
Code:
ClimateZoneTypes CvPlot::getWantedClimate()
{
	ClimateZoneTypes eFormClimate;
	
	if (isOwned())
	{
		eFormClimate = (ClimateZoneTypes)GC.getCivilizationInfo(GET_PLAYER(getOwnerINLINE()).getCivilizationType()).getFormClimateZoneType();

		[B]if(GET_PLAYER(getOwnerINLINE()).getStateReligion() != NO_RELIGION)
		{[/B]
			if ((ClimateZoneTypes)GC.getReligionInfo(GET_PLAYER(getOwnerINLINE()).getStateReligion()).getFormClimateZoneType() != NO_CLIMATEZONE)
			{			
				eFormClimate = (ClimateZoneTypes)GC.getReligionInfo(GET_PLAYER(getOwnerINLINE()).getStateReligion()).getFormClimateZoneType();
			}
		[B]}[/B]

		if (eFormClimate != NO_CLIMATEZONE)
		{
			if (GC.getClimateZoneInfo(eFormClimate).isOceanicClimate() == isWater())
			{
				return eFormClimate;
			}
		}
	}

	return getNaturalClimate();
}

As you can see, it's a VERY small change, but one that fixed a major crash issue. :lol:
 
Ranged attackers, when grouped with a unit that has a larger operational range, can extend their own attacks to the extra ranged, even if they do not have the proper promotions or range themselves. To put it succinctly, you only need 1 unit with the Sighted Shot promotion to allow all the units in a group or stack to ranged attack the second ring.

Probably this is an older bug left over from when FF first implemented ranged attacks, given that ranges farther than 1 either weren't intended or weren't tested extensively.

My minimalist testing, after first seeing it while playing as Mechanos, was to create a mortar, some catapults, some longbowmen and recurve archers in a stack 2 tiles away from an enemy city. The event log (at the top) showed that even the archers and catapults performed a ranged attack, and the range attack command was no longer present on the stack, even though only the mortar should have been able to shoot that far.
 
the game is crashing on the second turn, i am trying to find a way for this not to happen, but i have had no luck sofar, here is a savegame

EDIT: another crash, also on second turn
 

Attachments

the game is crashing on the second turn, i am trying to find a way for this not to happen, but i have had no luck sofar, here is a savegame

If it's a consistent crash between turn 1 and 2, do you have the hotfix installed? You can find it (And instructions to it's installation) in my sig.
 
If it's a consistent crash between turn 1 and 2, do you have the hotfix installed? You can find it (And instructions to it's installation) in my sig.

i am pretty shure i installed the hotfix, but to be shure, i am going to delete and reinstall, ill let you know if it works or not

hah, the first file was overwritten in my original post, i guess you cant have two of the same name

EDIT: fixed! thanks, i must have forgotten to install the hotfix, or put it in the wrong place
 
I've confirmed three terraforming 'events' that are causing me CTDs every time.

1. FOL Priest planting forests.

2. ROK Stonewarden using Earth's Boosom.

3. Scion Ghostwalker creating Haunted Lands.

The CTD occurs after the wait for the terraforming and is preceded by that particular sound/noise you get when the forest, hill, haunted lands is created.

These CTDs can easily be avoided by the human player by just not doing the terraforming, but it takes something away if you happen to have one of these religions or are playing the Scions. I'm not sure if other CTDs I get mid-game are caused by the AI trying these, although I doubt it as they don't seem to terraform much.

I note no one else seems to be having these types of CTDs, but I get them every game, every time I try. Any one have any ideas or suggestions as to the cause?

Thanks.
 
I've figured out why the "Hunter sells his catch" event, and some others, doesn't give the option to buy animals.

Animals are marked as unique. The event looks at your civs UNITCLASS_BEAR, for instance, sees that you don't have one and disables the ability to pick that option.

Removing bUnique from animals seem to fix the problem with no ill effects, but a better option would be allowing events to give units by Type rather than Class.
 
Hey, i'm here to report my crash. I mentioned this before and I'm aware that your working on a rebuild so....I'm not pestering you to solve this one issue for me however, since you are rebuilding I thought you might like to see about this particular crash so here is the save game.
 

Attachments

Hey, i'm here to report my crash. I mentioned this before and I'm aware that your working on a rebuild so....I'm not pestering you to solve this one issue for me however, since you are rebuilding I thought you might like to see about this particular crash so here is the save game.

Do you know what exactly occurs in the crash? What were you doing before it happened?
 
I wasn't doing anything that I would consider taxing or special. I was working on some routine tile improvements ( roads, lumber mills etc. no extreme terrain modification ) and building typical buildings ( palisades and such ). One thing that does stand out is this strage sound...like a unit or action that been enacted or completed or something. I think it was Sarisin that said something to the effect that he usually notices crashes when there is a particularly noticeable sound and I must say that the sound was noticeable.


Mainly I just pressed end turn....it made the strange sound and it immediately crashed to the desktop.
 
Back
Top Bottom